У меня есть простой объект poco entityframework
public partial class Location: Entity
{
[Key]
public int Id { get; set; }
public string Description { get; set; }
}
Объект baseClass выглядит следующим образом
public abstract class Entity : IObjectState
{
[NotMapped]
public ObjectState ObjectState { get; set; }
}
Я выставляю этот объект через службу Odata, используя ODataConventionModelBuilder.
var server = GlobalConfiguration.DefaultServer;
ODataModelBuilder builder = new ODataConventionModelBuilder();
builder.Namespace = "MyNameSpace.Models";
builder.EntitySet<Location>(typeof(Location).Name);
var model = builder.GetEdmModel();
config.Routes.MapODataServiceRoute("odata", "odata", model, new DefaultODataBatchHandler(server));
config.AddODataQueryFilter();
Когда я использую этот сервис с Breeze js, я получаю сообщение об ошибке от бриза, когда пытаюсь создать объект с помощью manager.CreateEntity().
Невозможно прикрепить объект к EntityManager без предварительной установки его ключа или установки его свойства entityType 'AutoGeneratedKeyType' в значение, отличное от 'None'
Когда я запрашиваю сущность, редактирую данные и сохраняю их. Все в порядке.
Я использую angular в сочетании с ветерком на клиенте и Asp.net webapi 2 в сочетании с odatacontroller на сервере с EntityFramework 6 в качестве ORM.
Может кто подскажет что я делаю не так!!!