C# CodeFirst Enum EntityFramework - PullRequest
0 голосов
/ 12 июля 2020

Я пытаюсь использовать базу данных codefirstdatabase в своем приложении, но мне ничего не удалось сопоставить перечисление в моем приложении. Я получаю эту ошибку, когда пытаюсь ее использовать. (6,10): ошибка 3032: проблема при сопоставлении фрагментов, начинающихся со строки 6: сопоставлен член условия «BasicAccount.AccountType» с условием, отличным от «IsNull = False». Удалите условие в BasicAccount.AccountType или удалите его из сопоставления.

public class PersonalDate
{
    public int id { get; set; }

    public ICollection<BaseAccount> BaseAccounts{ get; set; }
   
    public PersonalDate()
    { } 

}

public class BasicAccount

{
    public int id { get; set; }
     public AccountType AccountType { get; set; }
     public PersonalDate PersonalDate { get; set }
     
    public BasicAccount()
    {
    }

}

public class CurrentAccount: BasicAccount
{

    public CurrentAccount() 
    {
        AccountType = AccountType.CurrentAccount;
    }

}

public class SavingAccount: BasicAccount
{

    public SavingAccount() 
    {
        AccountType = AccountType.SavingAccount;
    }

}
public class SalaryAccount: BasicAccount
{

    public SalaryAccount() 
    {
        AccountType = AccountType.SalaryAccount;
    }

}
public enum AccountType: int
{
    undefined= 0,
    SavingAccount= 1,
    CurrentAccount= 2,
    SalaryAccount= 3
}

public class BancoContext : DbContext
{

    public DbSet<DadoPessoa> DadosPessoas { get; set; }
    public DbSet<ContaBase> ContaBases { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);


                 modelBuilder.Entity<BasicAccount>()
            .HasRequired<PersonalDate>(x => x.PersonalDate);
  modelBuilder.Entity<BasicAccount>()  
            .Map<BasicAccount>( x => x.Requires("AccountType").HasValue((int)AccountType.Undefined))
            .Map<SavingAccount>(x => .Requires("AccountType").HasValue((int)AccountType.SavingAccount))
            .Map<CurrentAccount>(x => x.Requires("AccountType").HasValue((int)AccountType.CurrentAccount))
            .Map<SalaryAccount>(x => x.Requires("AccountType").HasValue((int)AccountType.SalaryAccount));

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...