EF查询错误,不确定如何解决

卡比克

新成员
已加入
2020年2月23日
留言内容
3
编程经验
5-10
我正在用C#构建一个房间预订系统,但我遇到了有关EF查询的问题。当我尝试构建应用程序时,它会继续返回以下错误:

不能在LINQ to Entities查询中构造实体或复杂类型'Room_Booking_System.Room_Controls.Room_Model.ModelGetRestrictionDD'。

我一直在尝试解决它,但没有成功。我编写的其余EF查询的代码看起来都一样。我对这个问题有点st。

这是我正在使用的不同类。

ModelREstrictionsControl
C#:
namespace Room_Booking_System.Room_Controls.Room_Model
{
    using System;
    using System.Data.Entity;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Linq;

    public partial class ModelRestrictionsControl : DbContext
    {
        public ModelRestrictionsControl()
            : base("name=ModelRestrictionsControl")
        {
        }

        public virtual DbSet<ModelGetRestrictionDD> tblRestrictions { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Entity<ModelGetRestrictionDD>()
                .Property(e => e.RestrictionLevel)
                .IsUnicode(false);
        }
    }
}

ModelGetRestrictionsDD
C#:
namespace Room_Booking_System.Room_Controls.Room_Model
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Data.Entity.Spatial;

    public partial class ModelGetRestrictionDD
    {
        [Key]
        public int RestrictionId { get; set; }

        [Required]
        public string RestrictionLevel { get; set; }

        public bool RestrictionActive { get; set; }
    }
}

带有EF编码的方法。
C#:
        private void getRestrictionLevels()
        {
                using (ModelRestrictionsControl restriction = new ModelRestrictionsControl())
                {
                    List<ModelGetRestrictionDD> rLevel = new List<ModelGetRestrictionDD>();

                    rLevel = restriction.tblRestrictions
                        .Where(r => r.RestrictionActive == true)
                        .Select(r => new ModelGetRestrictionDD { RestrictionId = r.RestrictionId, RestrictionLevel = r.RestrictionLevel, RestrictionActive = r.RestrictionActive })
                        .OrderBy(r => new { r.RestrictionId }).ToList();

                    cboRestrictionLevel.DataSource = rLevel;
                    cboRestrictionLevel.DisplayMember = "RestrictionLevel";
                    cboRestrictionLevel.ValueMember = "RestrictionId";

                }
        }
 

卡比克

新成员
已加入
2020年2月23日
留言内容
3
编程经验
5-10
您好

不,这是我第一次使用该实体链接到该表。

我所做的就是创建实体/模型。编写了实体查询,然后尝试运行它。并且它返回了上面的错误。

如果与另一个查询有冲突,我本可以理解。
 
最佳 底部