У меня пока нет большого опыта работы с ORM, и на моем последнем сайте ASP.NET Web Forms мой друг создал файл отображения (для nHibernate), который содержал пару вычисляемых столбцов.Эти 2 столбца сопоставлены с парой свойств для моей модели «Фото».
Сейчас я воссоздаю тот же маленький веб-сайт, хотя и с использованием ASP.NET MVC, и до сих пор использовал Entity Framework, однакоМне нужно выполнить то же самое, сопоставить эти 2 вычисленных столбца с парой свойств для моей модели «Фото», но я не могу понять, как это сделать с помощью этой платформы.
Вот некоторые изсодержимое моего исходного файла сопоставления nHibernate для объекта Photo.
<class xmlns="urn:nhibernate-mapping-2.2" name="Photo" table="Photos">
<id name="Id" unsaved-value="0">
<column name="PhotoId" />
<generator class="native" />
</id>
<many-to-one name="Lens" not-null="true">
<column name="LensId" />
</many-to-one>
<property name="Title" not-null="true">
<column name="PhotoTitle" />
</property>
<property name="Description" not-null="true">
<column name="PhotoDescrip" />
</property>
<property name="TotalPhotosInMonth" formula="(SELECT COUNT(p.PhotoId) FROM Photos p WHERE p.DateTimePosted BETWEEN DATEADD(month, DATEDIFF(month, 0, DateTimePosted), 0) AND DATEADD(second, -1, DATEADD(month, DATEDIFF(month, 0, DateTimePosted) + 1, 0)))" />
<property name="TotalPhotosInYear" formula="(SELECT COUNT(p.PhotoId) FROM Photos p WHERE p.DateTimePosted BETWEEN DATEADD(year, DATEDIFF(year, 0, DateTimePosted), 0) AND DATEADD(second, -1, DATEADD(year, DATEDIFF(year, 0, DateTimePosted) + 1, 0)))" />
</class>
Это последние 2 свойства (TotalPhotosInMonth & TotalPhotosInYear) в этом файле сопоставления, которые я в конечном итоге пытаюсь выполнить с помощью Entity Framework (где я просто хочу получить общее количество фотографий в БД за этот месяц / год).
Кто-нибудь может посоветовать, как мне это сделать с помощью Entity Framework?