【问题标题】:Set default value in EF designer datetime在 EF 设计器日期时间中设置默认值
【发布时间】:2017-05-21 15:57:02
【问题描述】:

尝试将日期时间字段的默认值设置为当前时间。在 SQL 的字段设计器中,我会使用 getdate()。我应该在 Entity Framework 的设计器中使用什么?

谢谢

【问题讨论】:

  • 我下面的答案好运吗?

标签: entity-framework-4


【解决方案1】:

针对 EDMX 中的字段,将“StoredGeneratedPattern”设置为Computed

你仍然需要 SQL Server 中的默认值,上述设置将确保 EF 荣誉。

【讨论】:

    【解决方案2】:

    RPM1984's answer为基础:

    1. 在您的 EDMX 文件中选择具有默认值的字段,Created_On(在我的示例中)
    2. 转到属性面板
    3. 选择 StoreGeneratedPattern 属性
    4. 然后将值更改为Computed

    【讨论】:

      【解决方案3】:

      这个答案的孩子虽然在将 StoreGeneratedPattern 属性值设置为 Computed 但将 StoreGeneratedPattern 属性值设置为 Identity 为我工作,我将默认“Guid”设置为 UNIQUEIDENTIFIER 类型的 UserID

      【讨论】:

        【解决方案4】:

        通过更改 T4 模板文件在 Entity Framework 5 和 6 中设置默认值

        在.tt(模板文件)中进行了以下更改 删除第 34 行的 if 条件

        34 if (propertiesWithDefaultValues.Any() || collectionNavigationProperties.Any() || complexProperties.Any())
        35 {
        

        添加

        59 OnCreated();
        60 }
        61
        62 partial void OnCreated();
        63 <#
        

        参考这张图片 http://i.stack.imgur.com/DdlNB.png 红色表示删除,绿色表示添加

        这将使用 OnCreated 方法在所有实体类中添加构造函数。

        如下图

        public partial class Category
        {
            public Category()
            {
              this.Products = new HashSet<Product>();
              OnCreated();
            }
        
         partial void OnCreated();
         public int Id { get; set; }
         public string Name { get; set; }
        
         public virtual ICollection<Product> Products { get; set; }
        }
        

        然后使用与实体相同的命名空间创建类文件。

        public partial class Category
        {
           partial void OnCreated()
           {
              Name = "abc"
           }
        }
        

        请参阅下面的答案以获取更多详细信息 https://stackoverflow.com/a/38882032/5475124

        【讨论】:

          【解决方案5】:

          右击edmx,打开方式,选择xml编辑器,找到“ProviderManifestToken”从2008到2005的变化。保存。

          【讨论】:

            猜你喜欢
            • 2023-03-24
            • 2018-12-20
            • 1970-01-01
            • 2019-06-03
            • 1970-01-01
            • 2022-01-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多