【问题标题】:How to assign default values and define unique keys in Entity Framework 4 Designer如何在 Entity Framework 4 Designer 中分配默认值和定义唯一键
【发布时间】:2011-02-11 20:46:09
【问题描述】:

我查看了 Entity Framework 4。在为 SQL Server 2008 生成代码时,我想为某些字段定义一些默认值。

  1. 如何在设计器中为 Created DateTime Field 定义 DateTime.Now 默认值?

    -> 错误 54:默认值 (DateTime.Now) 对 DateTime 无效。该值的格式必须为 'yyyy-MM-dd HH:mm:ss.fffZ'

  2. 如何使代码生成的字符串字段唯一。像 E-Mail 或 Username 在表中只能存在一次。

我在互联网上进行了很多搜索,还查看了我的书籍 Pro Entity Framework 4.0 和 Programming Entity Framework。但是他们似乎都没有提出默认值问题,或者使用sql命令作为数据库生成的默认值。

另一件事是,如何防止数据库生成总是删除表? 相反,我想附加不存在的字段并保留数据。

感谢您的任何建议。

【问题讨论】:

    标签: c# entity-framework visual-studio-2010 .net-4.0


    【解决方案1】:

    您总是可以在 costructor 中定义部分类并初始化值:

    public partial class MyEntityClass
    {
        public MyEntityClass()
        {
            CreationDate = DateTime.Now;
        }
    }
    

    如果字段是唯一的,您必须自己检查并包含在您的验证逻辑中。

    【讨论】:

    • 谢谢。它更像是一种解决方法,但至少它可以完成这项工作。我想要更多让 db 完成工作(例如 sql 时间戳/日期时间等)但是通过使用 OR 映射器,我想这一次是不可能的。
    • @csharpnoob:绝对可以在数据库端进行。查看 StoreGeneratedPattern:msdn.microsoft.com/en-us/library/bb738536.aspx
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    • 2011-02-27
    • 2013-11-02
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多