Как я могу просматривать через мои объекты dbcontext в EF 4.1? - PullRequest
4 голосов
/ 13 июня 2011

Я использую ASP.NET Entity Framework 4.1 MVC 3 (C #)

Я хочу просмотреть все сущности в моем DbContext. Мне нужно иметь возможность динамически ссылаться на мои объекты, чтобы создавать динамические представления.

Я прочитал книгу Лермана, две книги MVC (2 и 3), msdn, asp.net и т.д.

Похоже, вам, возможно, придется использовать ObjectContext, чтобы добраться до сущностей. Если это правильный путь, я точно не могу понять, как это сделать. Пожалуйста помоги. Спасибо.

Ответы [ 3 ]

3 голосов
/ 17 октября 2011

вы также можете сделать это (например):

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});
}
1 голос
/ 14 июня 2011

Я не совсем уверен, что вы спрашиваете. Если вы хотите динамически ссылаться на DbSets внутри DbContext, вы можете использовать отражение:

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"
{

Но, если честно, я не знаю, что вы спрашиваете или чего вы хотите. Я только что видел, что у тебя еще нет ответов, поэтому я решил отдать свои два цента.

0 голосов
/ 14 июня 2011

Сформируйте ваш запрос, используя Entity Sql и вызов CreateQuery.

Посмотри, с чего ты начал.

http://www.codeproject.com/Questions/208209/Problem-with-Entity-SQL?display=Print

ObjectQuery query = ctx.CreateQuery("SELECT P FROM WebStoreEntities.Customers AS P");

Я не уверен на 100%, как получить имена объектов - попробуйте OpticalDelusions - но это может помочь, когда они у вас есть.

Вам придется динамически складывать все воедино, но в результате вы можете столкнуться с проблемой, но попробуйте.

...