EF多对数dbset.Include在DAL on GenericRepository

编程入门 行业动态 更新时间:2024-10-09 20:22:45
本文介绍了EF多对数dbset.Include在DAL on GenericRepository的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

如果我的生活依赖于...,我无法获取QueryObjectGraph来添加INCLUDE子表。在第三天停留的东西应该很简单: - /

I can't get the QueryObjectGraph to add INCLUDE child tables if my life depended on it...what am I missing? Stuck for third day on something that should be simple :-/

DAL:

public abstract class RepositoryBase<T> where T : class { private MyLPL2Context dataContext; private readonly IDbSet<T> dbset; protected RepositoryBase(IDatabaseFactory databaseFactory) { DatabaseFactory = databaseFactory; dbset = DataContext.Set<T>(); DataContext.Configuration.LazyLoadingEnabled = true; } protected IDatabaseFactory DatabaseFactory { get; private set; } protected MyLPL2Context DataContext { get { return dataContext ?? (dataContext = DatabaseFactory.Get()); } } public IQueryable<T> QueryObjectGraph(Expression<Func<T, bool>> filter, params string[] children) { foreach (var child in children) { dbset.Include(child); } return dbset.Where(filter); }

... DAL存储库

... DAL repositories

public interface IBreed_TranslatedSqlRepository : ISqlRepository<Breed_Translated> { } public class Breed_TranslatedSqlRepository : RepositoryBase<Breed_Translated>, IBreed_TranslatedSqlRepository { public Breed_TranslatedSqlRepository(IDatabaseFactory databaseFactory) : base(databaseFactory) {} }

BLL回购:

public IQueryable<Breed_Translated> QueryObjectGraph(Expression<Func<Breed_Translated, bool>> filter, params string[] children) { return _r.QueryObjectGraph(filter, children); }

控制器:

var breeds1 = _breedTranslatedRepository .QueryObjectGraph(b => b.Culture == culture, new string[] { "AnimalType_Breed" }) .ToList();

我无法找到 Breed.AnimalType_Breed.AnimalTypeId ..我可以钻到Breed.AnimalType_Breed然后intelisense期望一个表达式?

I can't get to Breed.AnimalType_Breed.AnimalTypeId ..I can drill as far as Breed.AnimalType_Breed then the intelisense expects an expression?

提示如果有的话,数据库表:粗体是多对多 Breed,Breed_Translated, AnimalType_Breed ,AnimalType,...

Cues if any, DB Tables: bold is many-to-many Breed, Breed_Translated, AnimalType_Breed, AnimalType, ...

推荐答案

AnimalBreed_Type 表示许多关系,因此 Breed_Translated 实体中的 AnimalBreed_Type 属性集!集合类型没有您的表属性。您必须使用 First 或 Single 从此集合中获取单个相关实体,并检查它的 AnimalTypeId 。

AnimalBreed_Type represents many to many relation so the AnimalBreed_Type property in Breed_Translated entity is collection! The collection type doesn't have your table properties. You must use First or Single to get single related entity from this collection and check it's AnimalTypeId.

更多推荐

EF多对数dbset.Include在DAL on GenericRepository

本文发布于:2023-11-15 06:23:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1591929.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:对数   dbset   EF   GenericRepository   DAL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!