我正在使用ASP.NET MVC 5进行学校项目。该项目是关于创建社交网络的。用户登录后,他将在新闻源上看到所有公开帖子。但是,在显示数据库中公开帖子的数据时遇到了问题。
这是数据库的脚本:
create table Utilizador(
id_utilizador integer not null identity(1,1),
nome varchar(50) not null,
apelido varchar(50) not null,
username varchar(15) not null unique,
pass varchar(50) not null,
email varchar(50) not null unique,
sexo char(1) not null CHECK (sexo IN('M', 'F')),
país varchar(50) not null,
imagem_perfil varchar(50) not null,
data_nascimento date not null,
estado int not null default 2, --0->Bloqueado 1-Activo, 2-por activar
primary key (id_utilizador),
check (email LIKE '%@%.%')
)
create table Post(
id_post integer not null identity(1,1),
texto varchar(400) not null,
primary key(id_post)
)
create table Publish_Post(
id_post integer not null,
id_utilizador integer not null,
data timestamp not null,
primary key(id_post),
foreign key(id_post) references Post(id_post),
foreign key(id_utilizador) references Utilizador(id_utilizador)
)
create table Privacy(
id_privacidade integer not null identity(1,1), --> 1 public, 2 private
nome varchar(50) not null,
primary key(id_privacidade)
)
create table Have_Privacy(
id_post integer not null,
id_privacidade integer not null,
primary key(id_post),
foreign key(id_post) references Post(id_post),
foreign key(id_privacidade) references Privacidade(id_privacidade)
)
让我解释一下为什么要以这种方式创建数据库:用户创建并发布一些具有隐私值(1或2)的帖子。用户登录后,所有公共帖子(1)都应出现在其新闻源上。到目前为止,我在C#中有此LINQ查询:
var id_posts = from p in db.Posts
select p.texto;
ViewBag.Posts = id_posts;
有人能帮我吗?提前致谢 :)
做这个
var id_posts = from p in db.Posts
join hp in db.Have_Privacy on p.id_post equals hp.id_post
join prv in db.Privacy on hp.id_privacidade equals prv.id_privacidade
where prv.nome = 'Private'
select p.texto;
告诉它如何
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句