Я пытаюсь объединить две таблицы, используя Entity Framework, но получаю ошибку System.InvalidOperationException
. Сообщение об ошибке:
Свойство 'MasterCompany' не является свойством навигации типа сущности 'UnitOfMeasure'. Метод «Включить (строка)» можно использовать только с «.»разделенный список имен навигационных свойств.
Я не уверен, почему он его выбрасывает.
Другие попытки:
- Я также пытался добавить
public virtual MasterCompany MasterCompany { get; set; }
в UnitOfMeasure
, но это бросает Invalid column error
. - Также добавлено
[Key]
в MasterCompany
таблице для MasterCompanyId
. - Но оба эти изменения выдают
Invalid column name 'IsDeleted'.
ошибку.
DAL Модели:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser, ApplicationRole, string>
{
public DbSet<UnitOfMeasure> UnitOfMeasure { get; set; }
public DbSet<MasterCompany> MasterCompany { get; set; }
}
public class UnitOfMeasure : PasBase, IAudit
{
[Key]
public long UnitOfMeasureId { get; set; }
public string Description { get; set; }
public string ShortName { get; set; }
public string Memo { get; set; }
public string Standard { get; set; }
// [ForeignKey("MasterCompanyId")]
public Int32 MasterCompanyId { get; set; }
public bool IsActive { get; set; }
public bool IsDeleted { get; set; }
[NotMapped]
public string UploadStatus { get; set; }
[ForeignKey("MasterCompanyId")]
public virtual MasterCompany MasterCompany { get; set; }
}
public class MasterCompany:AuditableEntity
{
public int MasterCompanyId { get; set; }
public string CompanyName { get; set; }
public string TaxId { get; set; }
public string EmailAddress { get; set; }
public string Address { get; set; }
public bool? IsActive { get; set; }
}
Репозиторий:
private ApplicationDbContext _appContext => (ApplicationDbContext)_context;
public IEnumerable<DAL.Models.UnitOfMeasure> getUnitOfMeasureData()
{
return _appContext.UnitOfMeasure
.Include("MasterCompany")
.Where(c => c.IsDeleted == false || c.IsDeleted == null)
.OrderByDescending(c => c.UnitOfMeasureId)
.ToList();
}