Я использую свойство собственного класса внутри модели данных EF Core.Использование [ComplexType] в Entity Framework Core
public class Currency
{
public string Code { get; set; }
public string Symbol { get; set; }
public string Format { get; set; }
}
[ComplexType]
public class Money
{
public int? CurrencyID { get; set; }
public virtual Currency Currency { get; set; }
public double? Amount { get; set; }
}
public class Rate
{
public int ID { get; set; }
public Money Price = new Money();
}
Моя проблема заключается в том, что при попытке создать миграцию EF Core сообщает об ошибке.
Microsoft.Data.Entity.Metadata.ModelItemNotFoundException: The entity type 'RentABike.Models.Money' requires a key to be defined.
Если я объявляю ключ, отдельный стол для «Денег» создан, который не то, что я ищу.
Можно ли использовать ComplexType в EF Core и поместить все это в одну таблицу?
Поддерживается ли это, или я делаю что-то неправильно? Вам нужно объявить объект сложным, используя fluentApi? – Gillardo
Наконец-то он поддерживается в EF Core 2.0: https://docs.microsoft.com/en-us/ef/core/what-is-new/ Чтобы настроить его, вам нужно использовать некоторые из API, хотя аннотации пока не поддерживается. –