gpt4 book ai didi

c# - Linq 设置内部属性的最佳方式

转载 作者:太空宇宙 更新时间:2023-11-03 21:39:32 25 4
gpt4 key购买 nike

我正在尝试从数据库中提取结果并在使用 Linq (EF V5.0) 选择时设置子属性。我这样做的原因是因为数据库中没有关系可以使用 include..

 var lamdaResult = from u in model.Entity_Users 
join s in model.Entity_Staff on u.UserID equals s.ST_UserID
select new { u, s };
return lamdaResult.Select(x => x.u.Staff = x.s; return x.u;).FirstOrDefault();

我正在学习 Linq.. 上面的表达式给我错误.. 谁能帮我设置子属性的最佳方法...

我也可以这样做..但我想知道是否有更好的方法来实现相同的结果而不是遵循 2 个表达式

    var user=null;
var lamdaResult = from u in model.Entity_Users
join s in model.Entity_Staff on u.UserID equals s.ST_UserID
select new { u, s };
user = lamdaResult.Select(x => x.u).FirstOrDefault();
user.Staff = lamdaResult.Select(x => x.s).FirstOrDefault();

最佳答案

Linq 用于查询,而不用于改变对象。您需要使用 LINQ 以外的其他东西来进行突变,通常 foreach 是合适的,尽管鉴于您只有一个项目,甚至没有必要这样做:

var item = (from u in model.Entity_Users 
join s in model.Entity_Staff on u.UserID equals s.ST_UserID
select new { User = u, Staff = s })
.FirstOrDefault();
item.User.Staff = item.Staff;
return item.User;

关于c# - Linq 设置内部属性的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20053829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com