Я использую Entity Framework Code Сначала, и мне нужно записать объект в БД и иметь странную проблему, которая заставляет меня думать, что моя модель Entity, вероятно, неверна ,EF Code First: Проблема модели с перекрестными отношениями под-объектов
Объект включает 2 суб-объект типа установки:
var request = new Request();
request.StartPosition = new Position();
request.EndPosition = new Position();
_context.Requests.Insert(request);
Вот моя модель:
[Table("Requests")]
public class Request
{
[Key]
public Guid Id { get; set; }
public Guid ProductId { get; set; }
public virtual int PositionId { get; set; }
[ForeignKey("PositionId")]
public virtual Position StartPosition { get; set; }
[ForeignKey("PositionId")]
public virtual Position DestinationPosition { get; set; }
}//class
[Table("Positions")]
public class Position
{
[Key]
public int Id { get; set; }
public double X { get; set; }
public double Y { get; set; }
public virtual ICollection<Request> Requests { get; set; }
public Position()
{
Requests = new List<Request>();
}
}
И это исключение я получаю: { "Ссылочная нарушение ограничения целостности. «Зависимая роль имеет несколько принципов с разными значениями».}
Должны ли в каждом из ваших Позиций иметь только один запрос? Изменение общедоступного виртуального ICollection Запросы {get; задавать; } для публичного виртуального запроса запроса {get; задавать;}? –
Sami