【发布时间】:2014-08-05 08:39:45
【问题描述】:
我写了这小部分代码
var query = from u in context.Users
join ui in context.UserIdentifiers on u.id equals ui.user_fk
where ui.identifier_value == identifier
select new User = u;
此代码错误,因为最后一行select new User = u;
所以我写了这个
var query = from u in context.Users
join ui in context.UserIdentifiers on u.id equals ui.user_fk
where ui.identifier_value == identifier
select new User
{
id = u.id,
first_name = u.first_name,
last_name = u.last_name
};
return query.First();
我不喜欢这段代码,因为我需要手动映射所有变量:id = u.id, first_name = u.first_name, last_name = u.last_name。如果我忘记了一个或者我修改了我的实体并且我忘记更新这部分代码怎么办。如果我得到一个超过 3 个变量的实体怎么办。我正在寻找一种更好的方法来写这个。你能帮帮我吗?
【问题讨论】:
-
啊,是的,我更喜欢使用 Linq,而不是 Lambda。
-
为什么不将 'select new User { ... }' 部分替换为 'select u' ?
标签: c# entity-framework entity-framework-5