Как мне создать хранимую процедуру с Entity Framework? - PullRequest
1 голос
/ 09 октября 2010

Я прочитал старый пост на форуме MSDN о Entity Framework, где Джули Лерман заявила :

по отношению к хранимым процедурам. Это даже лучше, чем вы имеете в виду. Мало того, что вы можете сопоставить с sprocs (оба в EF и в LINQ to SQL) или переопределить методы обновления / вставки / удаления, но в EF появляется возможность СОЗДАТЬ хранимые процедуры прямо в картографический слой. Не создавать их и добавлять их в БД, но просто их жить в EDM. Так что sproc не должны существовать в БД.

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

Я хочу посмотреть демонстрацию того, как это работает, но мучительно сложно прыгнуть в такой огромный фреймворк и всю его документацию и узнать, как взглянуть на одну особенность. Насколько я могу судить, Entity Framework недостаточно динамичен для поддержки желаемых сценариев, по крайней мере пока, но есть функции, которые обсуждались в будущих версиях EF и которые соответствуют моим потребностям. На данный момент я использую генератор запросов, свернутый вручную, поскольку функции ORM в EF не соответствуют моим потребностям, и я действительно просто хочу создать потрясающий генератор запросов и возможность создания хранимых процедур и сериализации параметризованных запросов.

Итог: как же Entity Framework создает хранимые процедуры «живыми» без их априорного существования в базе данных? Это настраиваемый? Как он обрабатывает изменения на концептуальном уровне? И почему картографическому слою принадлежит эта логика? Или Джули просто ссылается на что-то грубое, например, шаблоны T4 (YUCK !!!)?

1 Ответ

1 голос
/ 09 октября 2010

Пост Джули кажется немного расплывчатым. Если его нет в БД, это не «сохраненный процесс», как это знают большинство людей. Я не думаю, что она хотела создать процесс; Я не думаю, что вы можете сделать это сегодня, и я знаю , что вы не могли сделать это в 2007 году. Т4 также не использовался в 2007 году.

Она может говорила о EdmFunction , но трудно сказать. Она довольно активна в Твиттере, так что вы можете просто спросить ее, что она имела в виду.

...