尝试将datetime字段的默认值设置为占用当前时间。在SQL的字段设计器中,我使用 getdate()。我应该在Entity Framework的设计师中使用什么?
THX
答案 0 :(得分:28)
针对EDMX中的字段将“ StoredGeneratedPattern ”设置为Computed
。
你仍然需要SQL Server中的默认值,上面的设置将确保EF荣誉。
答案 1 :(得分:2)
答案 2 :(得分:0)
这个答案的孩子虽然在将 StoreGeneratedPattern 属性值设置为已计算但设置 StoreGeneratedPattern 属性值后对我没有用处身份为我工作,我正在设置默认" Guid"到 UNIQUEIDENTIFIER类型的用户ID
答案 3 :(得分:-2)
通过更改T4模板文件
在Entity Framework 5和6中设置默认值在.tt(模板文件)中进行以下更改 删除第34行的条件
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
答案 4 :(得分:-4)
右键单击edmx,打开方式,选择xml编辑器,找到“ProviderManifestToken”从2008年更改为2005年。保存。