У меня проблема с отображением в Entity Framework.
У меня есть следующие классы (упрощенные):
public class Building
{
public int ID { get; set; }
// *.. snip..* other properties
public Location Location { get; private set; }
}
public class Location
{
public string Street {get; set;}
public Country country {get; set}
}
public class Country
{
public int ID { get; set; }
public string Name { get; set; }
}
Здание и страна являются объектами, они сохраняются в базе данных. Расположение - это тип значения и должен отображаться в той же таблице, что и в здании.
Однако, когда я сопоставляю его таким образом, инфраструктура сущности хочет также сопоставить местоположение с таблицей и жалуется, что у нее нет ключа. Я не хочу давать ему ключ, так как он принадлежит зданию и не должен быть сущностью вообще.
Я видел обходные пути, которые говорят, что вам нужно поместить страну в класс Building, но это просто не очень хорошо (и семантически просто неправильно).
Я использую Entity Framework 5