Организации сущности: свойство «ComplexType.field» не существует или не отображается на тип «сущности»C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Организации сущности: свойство «ComplexType.field» не существует или не отображается на тип «сущности»

Сообщение Anonymous »

У меня есть проблема со свойствами отображения объектов значения/комплексных типов для сущностей. У меня есть объект пользователя, которая имеет сложное свойство типа, называемое учетными данными, которое, в свою очередь, имеет свойства: электронная почта, имя пользователя, пароль и безопасность. Я пытаюсь отобразить свойства из сложного типа к объектам, и исходный код показан ниже: < /p>
public class User
{
public string Id { get; protected set; }
public Credential Credential { get; protected set; }
// unrelated properties and methods omitted for simplicity
}

public sealed class Credential: ValueObject
{
public string Email { get; private set; }
public string UserName { get; private set; }
public string Password { get; private set; }
public string SecurityStamp { get; private set; }

public Credential() { }

public Credential(string email, string userName, string password, string securityStamp)
{
Email = email;
UserName = userName;
Password = password;
SecurityStamp = securityStamp;
}

public class CoreContext: DbContext
{
public IDbSet Users { get; set; }

public CoreContext(string connectionString) : base(connectionString) {}

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
Database.SetInitializer(null);

modelBuilder.ComplexType().Property(ucr => ucr.Email).HasColumnName("Email");
modelBuilder.ComplexType().Property(ucr => ucr.UserName).HasColumnName("UserName");
modelBuilder.ComplexType().Property(ucr => ucr.Password).HasColumnName("Password");
modelBuilder.ComplexType().Property(ucr => ucr.SecurityStamp).HasColumnName("SecurityStamp");

modelBuilder.Entity().Property(u => u.Credential.Email).HasColumnName("Email");
modelBuilder.Entity().Property(u => u.Credential.UserName).HasColumnName("UserName");
modelBuilder.Entity().Property(u => u.Credential.Password).HasColumnName("Password");
modelBuilder.Entity().Property(u => u.Credential.SecurityStamp).HasColumnName("SecurityStamp");
}
}
< /code>
Как вы видите, я пытался отобразить свойства сложного типа с объектом. Я начал с настройки учетных данных в качестве сложного типа, а затем настроил свойства на пользователе объекта. Тем не менее, я получаю следующую ошибку: < /p>

Свойство «credential.email» не существует или не отображается для типа «Пользователь». Я сделал все возможное, чтобы настроить картирование сложного типа. Что я мог сделать неправильно?

Подробнее здесь: https://stackoverflow.com/questions/399 ... s-not-mapp
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»