2010-11-05 3 views
2

Я отлаживаю некоторый код Entity Framework в Visual Studio 2008, и я пытаюсь получить фактические значения из базы данных. Я ожидаю увидеть набор идентификаторов, пар имен из одной статической таблицы.Почему сущности Entity Framework имеют имя «it»?

using (MyModel context = new MyModel()) 
{ 
    var stat = context.StatusSet.First(x => x.ID == 1); 
    //... 
} 

Когда я смотрю в контекст, я вижу, что context.StatusSet.Name имеет значение «it».

Что это значит?

+0

чисто спекулятивный, но это звучит как узел «корневого» в иерархии объектов, с именем, напоминающим * «это» *. –

+0

Я не знаю, но в EF1 я видел некоторый код в linq для сущностей, где коллеге приходилось делать своего рода инструкцию where, а также содержала «магическую строку» «IT» – Michel

+0

@Michel: видели примеры таких заявлений. Возможно, этот подход мне нужен, поскольку это выражение не работает. – Blanthor

ответ

1

В вариантах SQL, таких как T-SQL, существует неявный этот объект, поэтому вам нужно только указать имена столбцов. Однако вы можете указать псевдоним для таблицы (например, SELECT a. * FROM Table a).

Entity Framework имеет возможность запускать запросы с использованием ESQL (или Entity SQL), который является SQL-языком. В ESQL неявная эта область, вам нужно явно использовать «это» для ссылки на текущую область.

Erick

+0

Я пытался узнать больше о «этом». Даже блоги группы ADO.NET, похоже, не охватывают это. – Blanthor

+0

Согласовано, это не хорошо рассмотренный аспект eSQL, даже в документации MSDN. –

Смежные вопросы