Как получить свойство модели employee as employeename, ветвь от результирующей переменной в контроллере
Проблема
Как получить свойство модели employee в виде EmployeeName,BranchCode из результирующей переменной в контроллере ?
Я использую asp.net core 2.1 visual studio 2017 repository pattern Generic
но проблема не может отображать или показывать модели в EmployeesController
если я пишу переменную результата она не показывает EmployeeName или BranchCode
public class EmployeesController : Controller { private readonly IEmployees _context; public EmployeesController(IEmployees context) { _context = context; } public IActionResult Create(int? nextID) { int NextVal = nextID.HasValue ? nextID.Value : 0; model.EmployeeId = NextVal; var result = _context.GetAll().SingleOrDefaultAsync(m => m.EmployeeId == NextVal); model.EmployeeName = result.EmployeeName model.BranchCode = result.BranchCode; } Employee Models public class Employee { [Key] public int EmployeeId { get; set; } public int BranchCode { get; set; } public string EmployeeName { get; set; }
Что я уже пробовал:
in service layer i have interface Layer IEmployees as below : public interface IEmployees : IRepository<Employee> { } Irepository Interface public interface IRepository<T> { T Get(int id); T GetById(object id); T GetById(object id,object BranchCode); IQueryable<T> GetAll(); Task<ICollection<T>> GetAllAsyn(); IQueryable<T> GetAllIncluding(params Expression<Func<T, object>>[] includeProperties); Task<T> GetAsync(int id); } And implementation of Irepository<t> is public class EFRepository<T> : IRepository<T> where T : class { protected TabDbContext _context { get; set; } public EFRepository(TabDbContext context) { _context = context; } public IQueryable<T> GetAll() { return _context.Set<T>(); } public virtual async Task<ICollection<T>> GetAllAsyn() { return await _context.Set<T>().ToListAsync(); } public virtual T Get(int id) { return _context.Set<T>().Find(id); } public virtual T GetById(object id) { return _context.Set<T>().Find(id); } IN TabDbContext is my dbcontext as below : public class TabDbContext : DbContext { public TabDbContext(DbContextOptions<TabDbContext> options) : base(options) { } public DbSet<Employee> Employees { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity<Employee>() .HasKey(t => new { t.EmployeeId,t.BranchCode }); }
Gerry Schmitz
Перепроектировано. Наложение общего DAL на ORM. Вот почему эф "отстой" (не).
И вы даже не проверяете результаты ваших запросов; которые могут быть нулевыми.