Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 指定的类型成员';组织';在LINQ to实体中不支持_Sql_Linq_Model View Controller - Fatal编程技术网

Sql 指定的类型成员';组织';在LINQ to实体中不支持

Sql 指定的类型成员';组织';在LINQ to实体中不支持,sql,linq,model-view-controller,Sql,Linq,Model View Controller,所以我从学校接管了这个利用MVC的项目,我在学习的过程中不断学习。学校希望我做的一件事是向数据库中添加一个名为Organization的新表。他们希望组织在用户表(AspNetUser)中有一个外键,用主键Org_ID和组织名称Org_Type将其链接到组织表。他们希望每个用户都是特定组织的一部分。我已成功地将该表添加到数据库中。现在有一个数据输入表,显示scholarshipCredits表的所有输入数据。此表当前可以通过电子邮件搜索进行筛选,但他们希望它也能够通过姓氏或组织进行搜索。我当前正

所以我从学校接管了这个利用MVC的项目,我在学习的过程中不断学习。学校希望我做的一件事是向数据库中添加一个名为Organization的新表。他们希望组织在用户表(AspNetUser)中有一个外键,用主键Org_ID和组织名称Org_Type将其链接到组织表。他们希望每个用户都是特定组织的一部分。我已成功地将该表添加到数据库中。现在有一个数据输入表,显示scholarshipCredits表的所有输入数据。此表当前可以通过电子邮件搜索进行筛选,但他们希望它也能够通过姓氏或组织进行搜索。我当前正在尝试使组织显示在表中。如果我将视图中的显示信息更改为AspNetUser中的外键,它将在表中正确显示,但我希望显示Org_类型。我将组织表加入到控制器中的linq声明“scholarshipCredits”中,我认为这可以解决问题,但事实并非如此。当我尝试对列“organizations”进行排序时,会出现以下错误:LINQ to Entities中不支持指定类型的成员“organizations”。仅支持初始值设定项、实体成员和实体导航属性。任何帮助都将不胜感激

视图:

型号:

    public partial class ScholarshipCredit
    {
        public int StemId { get; set; }
        public string UserId { get; set; }
        public string Date { get; set; }
        public Nullable<bool> IsSpent { get; set; }
        public static double totalHours { get; set; }
        public static double totalCredits { get; set; }
        public static double spentCredits { get; set; }
        public static double remainingCredits { get; set; }

        public string userEmailSearch { get; set; }

        public virtual AspNetUser AspNetUser { get; set; }
        public virtual StemActivity StemActivity { get; set; }
        public virtual Organizations Organizations { get; set; }
    }
公共部分课程奖学金
{
公共整数StemId{get;set;}
公共字符串用户标识{get;set;}
公共字符串日期{get;set;}
公共可为空的ISPent{get;set;}
公共静态双总小时数{get;set;}
公共静态双totalCredits{get;set;}
公共静态双消费信用{get;set;}
公共静态双剩余积分{get;set;}
公共字符串userEmailSearch{get;set;}
公共虚拟AspNetUser AspNetUser{get;set;}
公共虚拟存储活动存储活动{get;set;}
公共虚拟组织{get;set;}
}
实体:

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

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            throw new UnintentionalCodeFirstException();
        }

        public virtual DbSet<AspNetRole> AspNetRoles { get; set; }
        public virtual DbSet<AspNetUserClaim> AspNetUserClaims { get; set; }
        public virtual DbSet<AspNetUserLogin> AspNetUserLogins { get; set; }
        public virtual DbSet<AspNetUser> AspNetUsers { get; set; }
        public virtual DbSet<ScholarshipCredit> ScholarshipCredits { get; set; }
        public virtual DbSet<StemActivity> StemActivities { get; set; }
        public virtual DbSet<C__MigrationHistory> C__MigrationHistory { get; set; }
        public virtual DbSet<Organizations> Organizations { get; set; }
    }
公共部分类实体:DbContext
{
公共实体()
:base(“名称=实体”)
{
}
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{
抛出新代码FirstException();
}
公共虚拟数据库集AspNetRoles{get;set;}
公共虚拟DbSet AspNetUserClaims{get;set;}
公共虚拟数据库集AspNetUserLogins{get;set;}
公共虚拟数据库集AspNetUsers{get;set;}
公共虚拟DbSet ScholarshipCredits{get;set;}
公共虚拟数据库集存储活动{get;set;}
公共虚拟数据库集C__迁移历史{get;set;}
公共虚拟数据库集组织{get;set;}
}

不要加入组织,只需加入即可。更改
var scholarshipCredits=db.scholarshipCredits.Include(s=>s.AspNetUser).Include(s=>s.StemActivity).Join(db.Organizations,s=>s.AspNetUser.Org_ID,o=>o.Org_ID,(s,o)=>s)
to
var scholarshipCredits=db.scholarshipCredits.Include(s=>s.AspNetUser)。Include(s=>s.StemActivity)。Include(s=>s.Organizations)感谢您的回复。当我尝试执行此操作并转到带有表的页面时,它会给我一个错误“指定的包含路径无效”。EntityType“l2eDataModel.ScholarshipCredit”未声明名为“Organizations”的导航属性。这就是为什么我更改为join,认为这是错误的原因。我认为发生这种情况是因为我合并了4个表。ScholarshipCredits连接到AspNetUsers和STEMActivity,现在通过AspNetUsers的外键连接到组织。奖学金和组织没有直接联系。你知道如何修复它吗?我不能直接链接它们,因为组织将属于每个单独的用户。不遵循。在课堂上展示你的组织。你是说它不是1:M(一个奖学金可以属于一个组织,组织可以有很多奖学金)?也看看数据库。EF是否在ScholarshipCredit中创建了组织表和FK?
    public partial class ScholarshipCredit
    {
        public int StemId { get; set; }
        public string UserId { get; set; }
        public string Date { get; set; }
        public Nullable<bool> IsSpent { get; set; }
        public static double totalHours { get; set; }
        public static double totalCredits { get; set; }
        public static double spentCredits { get; set; }
        public static double remainingCredits { get; set; }

        public string userEmailSearch { get; set; }

        public virtual AspNetUser AspNetUser { get; set; }
        public virtual StemActivity StemActivity { get; set; }
        public virtual Organizations Organizations { get; set; }
    }
public partial class Entities : DbContext
    {
        public Entities()
            : base("name=Entities")
        {
        }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            throw new UnintentionalCodeFirstException();
        }

        public virtual DbSet<AspNetRole> AspNetRoles { get; set; }
        public virtual DbSet<AspNetUserClaim> AspNetUserClaims { get; set; }
        public virtual DbSet<AspNetUserLogin> AspNetUserLogins { get; set; }
        public virtual DbSet<AspNetUser> AspNetUsers { get; set; }
        public virtual DbSet<ScholarshipCredit> ScholarshipCredits { get; set; }
        public virtual DbSet<StemActivity> StemActivities { get; set; }
        public virtual DbSet<C__MigrationHistory> C__MigrationHistory { get; set; }
        public virtual DbSet<Organizations> Organizations { get; set; }
    }