我正在使用来自不同实体的数据以及显示当前日期的MVC应用程序。我想从控制器传递这些数据来查看。我应该创建一个实体来存放其他实体吗?EF 4.1中的多个实体
0
A
回答
0
我会做的是创建一个ViewModel,它只保存视图的特定信息,而不是整个实体。
1
您可以制作一个视图模型,并将此视图模型中的所有内容放入视图中。
public class MyViewModel
{
Entity1 Ent{get;set;}
Entity2 Ent2{get;set;}
DateTime CurrentDate{get;set;}
}
public ActionResult index()
{
MyViewModel model = new MyviewModel();
model.Ent = new Entity1();
model.Ent2 = new Entity2();
model.CurrentDate = DateTime.Now;
return View(model)
}
您的视图现在必须接受VieModel而不是db生成的实体。鉴于你可以访问像
<%:Model.Ent1.SomeProperty%>
<%:Model.CurrentDate%>
<%:Model.Ent2.SomeProperty2%>
0
你真的需要一个单独的实体吗?我得到的是为什么不创建一个匿名对象,它返回所需的实体或只是所需的属性。每个数据场景都有一个实体可能会出现潜在的问题。
相关问题
- 1. 单个实体的EF多对多
- 2. 实体框架4.1代码优先:多对多ICollection只有一个实体
- 3. EF 4.1中的多对多关系
- 4. EF 4.1单个类中的多个多对多关系
- 5. 在Entity Framework中将多行组合到一个实体中4.1
- 6. 公开RIA服务SP1和EF 4.1中的关联实体POCO
- 7. EF 4.1:在插入父代之前替换一个子实体
- 8. 实体框架4.1 - EFTracingProvider
- 9. 实体框架4.1 Poco类避免多个数据库往返
- 10. 实体框架4.1坚持一个getter
- 11. 实体框架4.1代码优先:单列外键到多个实体
- 12. 问题与包括基于抽象的实体(EF 4.1)财产
- 13. EF 4.1层叠在实体之间的两个方向上两个关系
- 14. EF 4.1如何获得一个实体的第一个关键 - 复合
- 15. EF 4.1代码第一多个一个一对多的关联
- 16. EF中的(1到多个)中的级联实体
- 17. 用EF 4.1在LINQ查询中急切加载一个实体ObjectContext
- 18. CTP5 vs release 4.1 EF多对多关系
- 19. EF 4.1 RTM - EntityTypeConfiguration
- 20. 在EF 4.1
- 21. 实体框架4.1和BLOB的
- 22. 实体框架4.1 - 分离的实体到多个表(代码优先)
- 23. EF实体之间的多重关系
- 24. 如何在EF中创建另一个实体的新实体?
- 25. 多个级联删除在多对多关系路径(EF 4.1)
- 26. EF 4.1代码首先多个多对多关系
- 27. 定期从EF中的多个线程更新实体
- 28. EF 4.1 - 不能将一个实体与另一个现有实体相关联(可空值FK)
- 29. EF代码第一个6和多对多的实体映射
- 30. 多对多插入失败 - 实体框架4.1 DbContext
@adeel:我应该把逻辑从db中获取数据并在viewmodel中填充entities/viewmodel? – DotnetSparrow 2011-03-30 08:30:37
@DotnetSparrow你应该把你的控制器的Action方法中的逻辑。这并不意味着你直接在控制器中访问数据库对象。你应该创建一个将对象返回给调用代码的图层。如果您还不熟悉它,请参阅存储库模式 – 2011-03-30 09:18:53