gpt4 book ai didi

c# - 强制预先加载导航属性

转载 作者:太空狗 更新时间:2023-10-29 17:56:38 25 4
gpt4 key购买 nike

我正在使用 EF Code First,我有一个名为 Category 的导航属性,我希望在每次调用时都立即加载它:

public class Product
{
...
public Category Category { get; set; }
}

为此,我必须将其包含在我将对产品进行的每个调用中

var results = from p in db.Products.Include("Category") select p;

有没有办法让 Category 属性预先加载,从而在每次调用时生成一个 SQL 连接,而不必每次都包含它?

谢谢

最佳答案

一个简单的方法是定义一个扩展方法

static class DbExtensions{
public IQueryable<Product> ProductsWithCategories(this MyContext db) {
return db.Products.Include("Category");
}
}

它允许你使用

var results = from p in db.ProductsWithCategories() select p;

虽然不确定它是否带来很多好处...

关于c# - 强制预先加载导航属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5955544/

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