【发布时间】:2016-04-27 22:20:51
【问题描述】:
我目前正在编写使用 C# 与实体框架连接的游戏。
我与游戏中使用的主要模型表格有很多关系。因此,我必须使用这些模型的大量导航属性。
当我创建我的 viewModel 时,我有类似这样的代码:
Avatar = new ImageViewModel(company.Entity.ImgUrl);
CountryName = company.Region.Country.Entity.Name;
RegionName = company.Region.Name;
Name = company.Entity.Name;
Money = MoneyViewModel.GetMoney(company.Entity.Wallet);
OwnerName = company.Owner.Name;
OwnerID = company.OwnerID;
当我想访问导航属性时,它自然会触发多个查询。
在将模型传递给视图模型构造函数之前,我通过在控制器中使用 Include 解决了这个问题。 这非常耗费我的时间,因为最后我需要递归检查我的视图模型中需要哪些导航属性,并将它们手动包含在第一个查询中。
我的问题是: 这个代码设计合适吗?如果不是,那么解决此类问题的正确方法是什么?
个人觉得长期下来会比较麻烦。
【问题讨论】:
标签: c# entity-framework