1

我想使用我的 DataContext 的 CreateDatabase 方法动态创建一个数据库。我手动创建了映射类并对其进行了测试。但是,一旦我添加了表达式列(见下文),创建就会失败并出现 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 属性也不起作用。我究竟做错了什么?或者动态创建的数据库根本不支持这个?

4

1 回答 1

0

Linq to Sql 本身在创建整个数据库方面很差,至少它不会创建缺陷,所以你必须做的第一件事就是存储 SQL 代码,并在需要创建数据库时运行它。

于 2013-11-15T10:48:12.307 回答