gpt4 book ai didi

c# - Entity Framework /C# : multiple includes from string array?

转载 作者:行者123 更新时间:2023-11-30 20:53:02 24 4
gpt4 key购买 nike

如果要在某些 Entity Framework 选择上使用 Include() 方法(以避免“对象已处置”异常)。但是 Include 只接受一个字符串作为参数,这意味着只包含一个。要执行多个包含,您必须链接包含 .Include("something").Include("something").Include("something")

但我希望我的包含来自字符串数组。

所以我想写的是 .Include(array[0]).Include(array[1]).Include(array[2])...Include(array[n] )

(其中 'n' = array.Length - 1)

当然我事先并不知道字符串数组中会有什么。

但到目前为止我找不到正确的语法。谢谢你的帮助

编辑:考虑到我到目前为止的建议,我会说请准确说明类型并避免空值问题并对其进行测试。到目前为止,似乎没有任何解决方案有效,我迷失在我能用这种或那种类型做什么和不能做什么。

最佳答案

您可以使用 params string[] 这将使您的代码更加清晰:

public static IQueryable<T> Include<T>(this IDbSet<T> dbSet, params string[] includes) where T : class
{
foreach (var include in includes)
dbSet.Include(include);

return dbSet;
}

然后你可以两种方式使用它:

.Include("NavProp1", "NavProp2", "NavProp3");

和:

.Include(new[] { "NavProp1", "NavProp2", "NavProp3" });

关于c# - Entity Framework /C# : multiple includes from string array?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20329407/

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