gpt4 book ai didi

c# - 未填充 Linq to Sql 对象

转载 作者:行者123 更新时间:2023-11-30 22:43:56 25 4
gpt4 key购买 nike

我是 Linq 的新手,正在努力解决我认为是延迟执行的问题。我的应用程序中有一个数据层,它使用 Linq to Sql,然后使用 WCF 服务(MVVM 架构)将实体传递给 View 模型。此时对象被序列化。

我正在传递一个 Employee 对象,它应该有一个子 Rota 对象,但是当我尝试从 WCF 在我的 View 模型中访问它时,Rota 为空。如果我在调试之前查看员工对象,那么 Rota 将被序列化并在我的 View 模型中可用。我的 Linq 查询是一个简单的选择,如何让它通过 rota?我可以遍历每个员工以枚举查询和轮类对象,但这感觉很不对。

最佳答案

由于您使用的是 LinqToSql,因此在获取对象时应该使用 DataContext.LoadWith。这是告诉 LinqToSql 它应该拉下什么的首选方式(因为它默认为延迟加载)。

DataLoadOptions options = new DataLoadOptions();
options.LoadWith((Employee c) => c.Rota);
db.LoadOptions = options;

http://msdn.microsoft.com/en-us/library/system.data.linq.dataloadoptions.loadwith.aspx

与单独调用 ToList 或扩展 EntityRef 属性相比,这样做的好处是在 SQL 端效率更高。

关于c# - 未填充 Linq to Sql 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3653530/

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