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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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
C# 使用linq和实体框架的初始值设定项成员声明符无效_C#_Linq_Entity Framework_Entity Framework 4 - Fatal编程技术网

C# 使用linq和实体框架的初始值设定项成员声明符无效

C# 使用linq和实体框架的初始值设定项成员声明符无效,c#,linq,entity-framework,entity-framework-4,C#,Linq,Entity Framework,Entity Framework 4,我不熟悉Linq使用实体框架实体。我有模型中创建的每个表的所有实体类。我需要从多个表中检索数据。在这里,我试图从Person、Employee和Details表中获取信息。我的查询中有多个联接。我不想重写新类中的所有属性。相反,我用 namespace DAL { public class Details { public List<Person> provider { get; set; } public List<Employ

我不熟悉Linq使用实体框架实体。我有模型中创建的每个表的所有实体类。我需要从多个表中检索数据。在这里,我试图从Person、Employee和Details表中获取信息。我的查询中有多个联接。我不想重写新类中的所有属性。相反,我用

namespace DAL
{
    public class Details
    {
        public List<Person> provider { get; set; }
        public List<Employee> location { get; set; }
        public List<Details> member { get; set; }
    }
}
DAL名称空间
{
公开课详情
{
公共列表提供程序{get;set;}
公共列表位置{get;set;}
公共列表成员{get;set;}
}
}
现在我尝试在DAL类的自定义方法中使用这些属性。但我无法获得这些表中定义的属性

public List<Details> GetDetails(string dKey)
{
        try
        {

            using (var myDB = new Test_2013SQLEntities())
            {
                return (from H in myDB.Person
                        join L in myDB.Details on H.PID equals L.DID
                        join P in myDB.Employee on H.PersonID equals P.EmployeeID
                        where L.DID == dKey
                        select new Details()
                        {                                                           
                           ????? = L.DID,
                           ????? = H.Name,
                           ????? = P.PName
public List GetDetails(字符串dKey)
{
尝试
{
使用(var myDB=newtest_2013SQLEntities())
{
返回(myDB.Person中的H)
在myDB中加入L。关于H.PID的详细信息等于L.DID
在myDB中加入P。H.PersonID上的Employee等于P.EmployeeID
其中L.DID==dKey
选择新的详细信息()
{                                                           
我做过,
????????=H.名称,
????????=P.PName
我需要从此处的详细信息表中定义DID属性。当我尝试将DID放在此处时,我遇到一个错误“无效的初始值设定项成员声明符”“如何在GetDetails方法中访问实体详细信息、人员、员工中的属性?”


请帮助!

DID
是一个单独的属性,如果您将其初始化为:
newdetails{provider=L.DID,location=H.Name,member=p.PName}
,它将失败,因为
提供程序
是一个列表,您正在尝试分配单个项目。您是否可以发布任何示例数据或人员类型、员工和数据库。详细信息。根据您的模型定义,您可能不需要加入表,而可以使用Include加载导航属性,因此更新您的问题和Include定义你的模型(个人、员工和细节)。这个问题应该可以帮助你解决你的问题。