使用LinqC#Asp.net显示不同表中的数据
本文关键字:数据 LinqC#Asp net 显示 使用 | 更新日期: 2023-09-27 18:25:44
如何使用linq&C#?我的项目是一个社交网络,用户应该在其中看到所有的公开帖子以及发布的用户的姓名和图像
现在我有这个:
var posts_public = from p in db.Posts
join e in db.Privacy on p.id_post equals e.id_post
join pu in db.Publish on p.id_post equals pu.id_post
join u in db.Users on pu.id_utilizador equals u.id_user
where e.id_privacy== 1
select new { p.text, u.name,u.image };
Viewbag.post = posts_public;
但当我想显示我选择的数据时,显示如下:
{ text = ola2, nome = André, image = /Content/Images'IMG_20150616_183508.jpg }
我希望出现的只是这样的数据:
ola2
André
IMG_20150616_183508.jpg
有人能帮我吗?
提前感谢:)
如果这是你要到处做的事情,你可以创建一个结果类并重载ToString()方法。
类别:
public class PublicResult
{
public string Text { get; set; }
public string Name { get; set; }
public string ImagePath { get; set;}
public override string ToString()
{
//return string.Format("{0}'n{1}'n{2}", Text, Name, ImagePath); <-- uncomment and delete other return if not using C# 6
return $"{Text}'n{Name}'n{ImagePath}";
}
}
然后在您的查询中选择这样做:
var posts_public = from p in db.Posts
join e in db.Privacy on p.id_post equals e.id_post
join pu in db.Publish on p.id_post equals pu.id_post
join u in db.Users on pu.id_utilizador equals u.id_user
where e.id_privacy== 1
select new PublicResult{ Text = p.text, Name = u.name, ImagePath = u.image };
现在,无论您在哪里Console.WriteLine(posts_public)
,它都将显示为:
ola2
André
IMG_20150616_183508.jpg
或者,如果你只是在一个地方做这件事,只需像我在ToString()方法中所做的那样,输出这个结果,而不是创建类。