Я пытаюсь определить переменную модель ID, как это в ASP.NET 5:ASP.NET vNext DataAnnotations DatabaseGenerated не работает
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
Для поддержки аннотаций данных я добавил пакет System.ComponentModel.DataAnnotations
в моем проекте. JSON-файл, как это:
"System.ComponentModel.Annotations": "4.0.10-beta-22811"
А в модели CS-файла я добавил using System.ComponentModel.DataAnnotations.Schema;
Хотя я получаю следующее сообщение об ошибке:
Error CS0433 The type 'DatabaseGeneratedAttribute' exists in both 'System.ComponentModel.Annotations, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' and 'System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
И я не знаю, как я должен это исправить. Я попытался включить пространство имен System.ComponentModel.Annotations
вместо System.ComponentModel.DataAnnotations
, но кажется, что он не существует, как я получаю эту ошибку, то:
Error CS0234 The type or namespace name 'Annotations' does not exist in the namespace 'System.ComponentModel' (are you missing an assembly reference?)
И если это пространство имен не существует, я не понимаю, как я могу получить предыдущую ошибку, которая говорит мне, что DatabaseGeneratedAttribute существует в двух местах.
Я бы очень признателен за всю помощь, которую я могу получить от этого.
Прежде всего, ASP.NET не знает, что такое база данных. Таким образом, вы не используете ASP.NET, также MVC. Они агностики базы данных. Это означает, что вы используете технологию доступа к данным, такую как Entity Framework, которая не имеет ничего общего с ASP.NET и не имеет отношения к ней, кроме того, что вы можете использовать Entity Framework в приложении ASP.NET. Учитывая, что вы используете инфраструктуру Entity, следующий вопрос: какая версия? EF6 или EF7? И какую версию ASP.NET 5 вы используете? Было выпущено 6 выпусков CTP. –