Не удалось найти реализацию шаблона запроса для типа источника. Регистрация не найдена - PullRequest
0 голосов
/ 03 ноября 2018

Я не знаю, правильно ли я это делаю. У меня есть 2 таблицы Property и PropertyTypes. Каждое свойство имеет 1 тип свойства. Я использую ограничение внешнего ключа. Но при создании контроллера я получаю эту ошибку уже: "Не удалось найти реализацию шаблона запроса для типа источника 'DbSet'. 'Присоединение не найдено'

Пожалуйста, смотрите мой код ниже:

[Table("Property.Property")]
    public class Property
    {
        [Key]
        public int          PropertyId { get; set; }
        [StringLength(50)]
        public string       PropertyName { get; set; }
        public int?         Owner { get; set; }
        public string       Cluster { get; set; }
        public string       PropertyNumber { get; set; }
        public string       RegionCode { get; set; }
        public string       ProvinceCode { get; set; }
        public string       MunicipalCode { get; set; }
        public string       BarangayCode { get; set; }
        public DateTime?    DateAdded { get; set; }
        public DateTime?    DateModified { get; set; }

        public int          PropertyTypeId { get; set; }
        public PropertyType PropertyType { get; set; }

        [NotMapped]
        public string Type { get; set; }
    }

    [Table("Property.Types")]
    public class PropertyType
    {
        [Key]
        public int PropertyTypeId { get; set; }
        [StringLength(50)]
        public string Type { get; set; }
        public DateTime? DateAdded { get; set; }
        public DateTime? DateModified { get; set; }

        public List<Property> Properties { get; set; }
    }

 public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public ApplicationDbContext()
        : base("DefaultConnection", throwIfV1Schema: false) {}

        // DB Sets
        public DbSet<Property> Properties { get; set; }
        public DbSet<PropertyType> PropertyTypes { get; set; }
    }

Контроллер

public class PropertyController : ApiController
    {
        [HttpGet]
        [Authorize]
        [Route("api/getproperties")]
        public async Task<List<Property>> GetProperties()
        {
            using(var db = new ApplicationDbContext())
            {
                var properties = await (from p in db.Properties
                                        join pt in db.PropertyTypes
                                        on p.PropertyTypeId equals pt.PropertyTypeId
                                            select new
                                            {
                                                PropertyId = p.PropertyId,
                                                PropertyName = p.PropertyName,
                                                Owner = p.ProertyOwner,
                                                Cluster = p.Cluster,
                                                PropertyNumber = p.PropertyNumber,
                                                RegionCode = p.RegionCode,
                                                ProvinceCode = p.ProvinceCode,
                                                MunicipalCode = p.MunicipalCode,
                                                BarangayCode = p.BarangayCode,
                                                DateAdded = p.DateAdded,
                                                DateModified = p.DateModified,
                                                PropertyTypeId = p.PropertyTypeId,
                                                type = pt.Type
                                            }
                                        ).ToListAsync();
                return properties;
            }

        }
    }

enter image description here

Не могли бы вы показать мне правильный способ сделать это? Спасибо.

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