当我使用 Linq2Sql 时,我可以通过在 DataLoadOptions.AssociateWith 方法中使用 lambda 表达式来过滤表。

我用它来过滤使用的语言 - 所以我有一个包含所有语言的语言表和一个包含对象的对象表。

喜欢:

DataLoadOptions opt = ...;
opt.AssociateWith<DB.Objects>(o => o.Language.Where(p => p.Culture == CurrentUser.Culture));

如何使用 Entity Framework 来做到这一点 - 我必须使用 .Include(string) 而不是 dataloadoptions?

最佳答案

您能告诉我们您使用的是哪个版本的 EF。

但是说你想使用“include”方法,那么它可能看起来像这样。

var result = dbContext.Objects.Include("Language").Where(p=>p.Culture == CurrentUser.Culture );

请注意,“语言”应反射(reflect)模型中导航属性名称中设置的内容。 (所以要注意复数)

关于.net - Entity Framework 与 AssociateWith,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/609973/

10-11 19:44