[英]C# - Entity Framework - Join method
我有一个名为“PublicUserOfferingSignUp”的表,其中包含以下列。
我的应用程序正在使用实体框架,但我不知道如何从PublicUserOfferingSignUp表加入到PublicUser表。
我想获取PublicUserOfferingSignUp记录的列表,但是按PublicUser表的Name列排序。
目前我有这个....
return DataBase.PublicUserOfferingSignUps.Join(PublicUser,
但我似乎无法解决,任何想法....
史蒂芬
任何人都可以帮忙。
这样的事情
DataBase.PublicUserOfferingSignUps.Join(Database.PublicUsers,
puosu => puosu.PublicUserId,//PublicUserOfferingSignUps key
pu => pu.Id,//PublicUser key
(puosu, pu) => new {
publicUsersOfferingSignUp = puosu,//we take all data from PubliUserOfferingSignUps
puName = pu.Name//and Name from PublicUser
})
.OrderBy(x => x.puName)//we order by PublicUser Name
.Select(x => x.publicUsersOfferingSignUp );//we take only the PublicOfferingSignUps
编辑:正如@ M.Schenkel注意到的那样,拥有一个更容易
public virtual PublicUser PublicUser {get;set;}
在您的PublicUserOfferingSignUp
模型中
然后查询将是
DataBase.PublicUserOfferingSignUps
.OrderBy(puosu => puosu.PublicUser.Name);
更容易,不是吗?
使用实体框架时,公共用户应该是PublicUserOfferingSignUp-entity的属性。 如果没有,您可以编写LINQ查询来加入它们。 例如:
var result = from pu in context.PublicUserOfferingSignUp
join u in context.PublicUser on u.id equals pu.PublicUserId
select pu;
(此代码未经测试,但应该给你一个想法)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.