Динамические данные не будут отображать вычисляемые поля; ASP.NET 4.5, Entity Framework 5.0

#c# #asp.net #entity-framework #dynamic-data

#c# #asp.net #entity-framework #динамические данные

Вопрос:

Я пытаюсь отобразить вычисляемые поля на моем сайте Dynamic Data Entities. Я сгенерировал свой EDMX-файл из существующей базы данных и добавил настройки в отдельный файл с использованием частичных классов. Я хочу, чтобы вычисляемые поля отображались на экранах отображения и списка.

Я видел в Интернете множество примеров, где люди предположительно работают с этим; однако большинство из них ориентированы на подходы, ориентированные на код, а не на базу данных. У меня нет опции Code-First, поскольку база данных уже завершена.

Я пробовал различные аннотации данных, включая:

 [ScaffoldColumn(true)]
[NotMapped]
[ReadOnly]
[Display(AutoGenerateField=true)]
  

Я также попытался использовать MetadataType в следующем формате:

 [MetadataType(typeof(ProductMetadata))]
public partial class Product
{
    [ScaffoldColumn(true)]
    [NotMapped]
    public decimal CostPerUnit
    {
        get
        {
           return TotalCost / (decimal)TotalUnits;
        }
    }
}

public class ProductMetadata
{
    [ReadOnly(true)]
    [Display(Name = "[Cost Per Page]", AutoGenerateField = true, AutoGenerateFilter = false)]
    [UIHint("Number")]
    public object CostPerUnit { get; set; }
}
  

Приведенный выше код для меня компилируется просто отлично. Формы отображения и списка отображают столбцы в таблице Product, а другие мои аннотации (не перечисленные) отображаются просто отлично. Ни одно из вычисляемых полей не отображается. Сообщений об ошибках нет.

Я делаю что-то неправильно или неправильно подхожу к этой проблеме? Действительно ли EntityFramework 5.0 и Dynamic Data не способны достичь моих целей? Если последнее, есть ли в EF 6.0 то, что мне нужно?

Редактировать 2014-07-11:

Я перешел на Entity Framework версии 6 и попробовал подход «сначала код». Мне все еще не удалось создать вычисляемое поле в коде, который отображался бы на сайте динамических данных.

Есть ли вообще какой-либо способ включить кодовые свойства объекта entity на веб-сайте с динамическими данными? Я на 100% согласен с переписыванием и переопределением других классов в фреймворке для достижения этой цели (на самом деле, я пытался с минимальным успехом).