Возможно ли в LINQ to SQL создать вычисляемый столбец, используя DataContext.CreateDatabase? - PullRequest
1 голос
/ 17 августа 2010

Я хочу динамически создать базу данных, используя метод CreateDatabase моего DataContext.Я вручную создал классы отображения и проверил их.Но как только я добавляю столбец выражений (см. Ниже), создание завершается с SqlCeException, и я не могу выяснить точную причину.

    /// <summary>
    /// The sum of ratings for this document.
    /// </summary>
    [Column]
    public Nullable<float> RatingSum { get; set; }

    /// <summary>
    /// The number of times the document was rated.
    /// </summary>
    [Column]
    public Nullable<float> RatingCount { get; set; }

    /// <summary>
    /// Average rating as calculated from RatingSum and RatingCount
    /// </summary>
    [Column(AutoSync=AutoSync.Never, IsDbGenerated=true, Expression = "RatingSum * RatingCount", DbType="REAL")]
    public Nullable<float> Rating { get; set; }

Пропуск DbType или изменение его на FLOAT не помоглиAutoSync.Always тоже не помогает, пропуская атрибуты AutoSync и IsDbGenerated также не работает.Что я делаю неправильно?Или это просто не поддерживается для динамически созданной БД?

1 Ответ

0 голосов
/ 15 ноября 2013

Linq to Sql сам по себе очень плох в создании всей базы данных, по крайней мере, он не создает различий, поэтому первое, что вы должны сделать, это сохранить SQL-код, который его выполняет, и запускать его всякий раз, когда вам нужно создать базы данных.

...