问题描述
|
我正在使用ASP.NET实体框架4.1 MVC 3(C#)
我想遍历我的DbContext中的所有实体。我需要能够动态引用我的实体,以便创建动态视图。
我已经读过Lerman的书,两本MVC(2&3)书,msdn,asp.net等。也许我只是想念一些东西?
似乎您可能必须使用ObjectContext才能访问实体。如果这是正确的方法,我肯定无法弄清楚该怎么做。请帮忙。谢谢。
解决方法
您也可以这样做(例如):
foreach (var dbItem in dbContext.Items)
{
//do what you want inside the loop with the dbItem
sList.Add(new SelectListItem() {Text = dbItem.ItemName,Value = dbItem.ItemTag});
}
, 我不确定您要问什么。如果要动态引用DbContext内部的DbSet,则可以使用反射:
DatabaseContext context = new DatabaseContext();
var contextObject = context as Object;
var contextType = contextObject.GetType();
var properties = contextType.GetProperties();
String result = String.Empty;
foreach (var property in properties)
{
result += property.Name + \"\\n\"
{
但是说实话,我不知道您在问什么或想要什么。我只是看到你还没有答案,所以我想我会给我两分钱。
, 使用Entity Sql和对CreateQuery的调用来形成查询。
看看这是否可以帮助您入门。
http://www.codeproject.com/Questions/208209/Problem-with-Entity-SQL?display=Print
ObjectQuery查询= ctx.CreateQuery(\“从WebStoreEntities.Customers AS P中选择P”“);
我不是100%知道如何获取实体的名称-尝试OpticalDelusions方式-但这可能会有所帮助。
您将必须动态地将所有内容放在一起-但是生成的类型可能会在转换时遇到问题,但请尝试一下。