[英]Insert data in two Different tables on InsertOnSubmit() Using Linq asp.net c#
[英]Showing data from different tables with Linq C# Asp.net
如何使用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()方法中所做的操作,在該方法中您將輸出此結果而不創建類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.