【发布时间】:2015-04-18 19:45:30
【问题描述】:
我正在尝试在 ASP.NET 5 中定义这样的模型 ID 变量:
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
为了支持数据注释,我在我的 project.json 文件中添加了包 System.ComponentModel.DataAnnotations,如下所示:
"System.ComponentModel.Annotations": "4.0.10-beta-22811"
在模型cs文件中我添加了using System.ComponentModel.DataAnnotations.Schema;
虽然我收到以下错误:
错误 CS0433 类型“DatabaseGeneratedAttribute”存在于“System.ComponentModel.Annotations, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”和“System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=中立,PublicKeyToken=31bf3856ad364e35'
我真的不知道该如何解决这个问题。我试图包含命名空间 System.ComponentModel.Annotations 而不是 System.ComponentModel.DataAnnotations 但它似乎不存在,因为我收到此错误:
错误 CS0234 名称空间“System.ComponentModel”中不存在类型或名称空间名称“Annotations”(您是否缺少程序集引用?)
如果该命名空间不存在,我不明白如何获得先前的错误,该错误告诉我 DatabaseGeneratedAttribute 存在于两个地方。
非常感谢我能得到的所有帮助。
【问题讨论】:
-
首先,ASP.NET 不知道数据库是什么。所以你没有使用 ASP.NET,MVC 也没有。它们与数据库无关。这意味着您正在使用像 Entity Framework 这样的数据访问技术,它与 ASP.NET 无关并且不相关,除了您可能在 ASP.NET 应用程序中使用 Entity Framework 的事实。鉴于您使用的是实体框架,下一个问题是.. 什么版本? EF6 还是 EF7?您使用的是哪个版本的 ASP.NET 5?已有 6 个 CTP 版本。
标签: c# asp.net asp.net-mvc data-annotations