Używam właściwości własnej klasy wewnątrz modelu danych EF Core.Używanie [ComplexType] w 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();
}
Mój problem polega na tym, że kiedy próbuję utworzyć migrację, EF Core zgłasza błąd.
Microsoft.Data.Entity.Metadata.ModelItemNotFoundException: The entity type 'RentABike.Models.Money' requires a key to be defined.
Jeśli zadeklaruję klucz, zostanie utworzona osobna tabela "Pieniądze", co nie jest tym, czego szukam.
Czy istnieje sposób na użycie ComplexType w EF Core i umieścić go w jednej tabeli?
Czy jest to już obsługiwane lub czy robię coś nie tak? Czy musisz zadeklarować obiekt jako złożony przy użyciu fluentApi? – Gillardo
Jest ostatecznie obsługiwany w EF Core 2.0: https://docs.microsoft.com/en-us/ef/core/what-is-new/ Musisz użyć płynnego API, aby go skonfigurować, ale adnotacje są nie jest jeszcze obsługiwany. –