单个 LINQ to Entities 查询中的两个结构上不兼容的初始化过程中出现类型“XXXX”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单个 LINQ to Entities 查询中的两个结构上不兼容的初始化过程中出现类型“XXXX”相关的知识,希望对你有一定的参考价值。

最近在做一个报表的时候,用EF使用了Contact方法,但是程式运行一直出错。最近终于找到原因了,写下来提醒下自己。好了,进入正题:

  现在我举个栗子,目前数据库中有ParentStudent表和SubStudent表,现在需要将两张表联合起来后再使用分页查询。

  表ParentStudent和SubStudent的结构完全一样,我这边就只展示SubParent表的结构了:

CREATE TABLE [dbo].[SubStudent](
    [ID] [varchar](10) NOT NULL,
    [Name] [nvarchar](10) NOT NULL,
    [Age] [int] NOT NULL,
    [Sex] [bit] NOT NULL,
    [CreateDate] [datetime] NOT NULL,
    [CreateID] [varchar](10) NOT NULL,
 CONSTRAINT [PK_SubStudent] PRIMARY KEY CLUSTERED 
(
    [ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

  再建立一个Student类

技术分享
1  public class Student
2     {
3         public string ID { get; set; }
4         public string Name { get; set; }
5         public int Age { get; set; }
6         public bool Sex { get; set; }
7         public DateTime CreateDate { get; set; }
8         public string CreateID { get; set; }
9     }
View Code

  正确的代码:

技术分享

  下面展示一下我遇到的错误情况:

  情况一:

    部分属性忘记赋值:

技术分享

  情况二:

    顺序错误:

技术分享

其实到现在我都不是很明白为什么顺序错误也会出现这个错误,欢迎大神告诉我在呢没回事!

 

 

 

 

    

 

 

 

  

以上是关于单个 LINQ to Entities 查询中的两个结构上不兼容的初始化过程中出现类型“XXXX”的主要内容,如果未能解决你的问题,请参考以下文章

将日期时间转换为 LINQ-to-entities 查询中的格式化字符串

Linq to Entities 中的动态 where 子句 (OR)

使用 LINQ to Entities 的内部查询(子查询)返回列表中的 IEnumerable 列表

为啥 LINQ-to-Entities 将此查询放在子选择中?

在 LINQ to Entities 中批量删除

如何避免从 LINQ to Entities 中的多个线程从 SQL 数据库中读取相同的记录