У меня есть существующий db, который я использую entityframework 6 Code-First для работы. Требование, однако, состоит в том, что вся работа с db должна осуществляться через хранимые процедуры. Поэтому я начал с помощью отображения, новое в 6.0:Сопоставление объектов из хранимой процедуры с использованием атрибута columnname в EntityFramework CodeFirst
modelBuilder.Entity<Post>().MapToStoredProcedures();
Вопрос заключается в том, что это только поддерживает отображение Insert, Update и Delete зр не избранный зр-х, мне нужно, чтобы быть в состоянии нас зр к Выбрать. (У меня нет доступа к редактированию любого из существующих sp)
У моих poco есть атрибуты на них, указывающие имя столбца для использования с использованием атрибута column. По-видимому, хотя встроенное сопоставление не поддерживает их использование, если вы не делаете прямой выбор в таблице через объект dbset.
Первоначально я был (который работал):
return (from c in DataContext.Current.AgeRanges orderby c.StartAge select c);
Затем, чтобы переключить его на зр я попытался (с помощью SQLQuery вызова базы данных):
return DataContext.Current.Database.SqlQuery<AgeRange>("[DIV].[GetAgeRangesList]").AsQueryable();
Возвращаемого действительных объектов, но ни один из столбцов, отмеченных атрибутом Column, было что-то в них.
Тогда я попробовал (думаю, так как он был против фактического объекта dbset я бы получить отображение столбцов):
return DataContext.Current.AgeRanges.SqlQuery("[DIV].[GetAgeRangesList]").ToList().AsQueryable();
Неа, это вместо того, чтобы дал мне ошибку, что один из свойств в объекте POCO (один из атрибутов столбца) не был найден в возвращаемом наборе записей.
Итак, вопрос заключается в том, что в структуре сущности (или в лучшем случае вне этого) лучший способ вызова хранимой процедуры и сопоставление результатов с объектами и сопоставление этого атрибута столбца с атрибутами свойств?
Я бы даже хотел использовать старый объект School School и объект SqlCommand, чтобы заполнить его, если бы у меня был быстрый простой способ сопоставить объекты, которые соответствуют атрибуту столбца.
Я поддержал его. Более того, они этого не сделали. Я написал собственный обработчик для обработки свойства. – Solmead