代码之家  ›  专栏  ›  技术社区  ›  Sander Rijken

默认值DateTime列,与EF4映射

  •  2
  • Sander Rijken  · 技术社区  · 15 年前

    在我的数据库中有一个日期时间列“Created”,默认值为 getutcdate() . 我希望我的EF datacontext生成一个不设置此列的insert查询,并获取结果值。有办法吗?

    我尝试将StoreGeneratedPattern设置为None、Identity或Computed,得到一个异常,DateTime无法转换为datetime2(意味着它试图在0-0-0插入0:00)

    如何设置edmx以允许在不指定初始创建值的情况下创建对象?

    1 回复  |  直到 15 年前
        1
  •  0
  •   Community Paul Sweatte    7 年前

    在我的机器上工作。只是尝试了一下,在我的模型中添加了一个名为“property”(默认名称)的属性,将列设置为可为null:false,StoreGeneratedPattern:computed:

    insert [dbo].[Foods]
          ([CommonName],
           [ScientificName],
           [ShortDescription],
           [CategoryId],
           [LongDescription])
    values('sdfg' /* @0 */,
           'sdfg' /* @1 */,
           'sdfg' /* @2 */,
           1 /* @3 */,
           'sdfg' /* @4 */)
    select [Id],
           [Property]
    from   [dbo].[Foods]
    where  @@ROWCOUNT > 0
           and [Id] = scope_identity()
    

    编辑: The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value