Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.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# 把两张桌子合在一起_C#_.net_Linq_Entity Framework - Fatal编程技术网

C# 把两张桌子合在一起

C# 把两张桌子合在一起,c#,.net,linq,entity-framework,C#,.net,Linq,Entity Framework,我有两张桌子: 身份证,名字,姓氏,地址,日期 Id、名字、姓氏、电子邮件、电话、日期 现在我想收到结果: 身份证,名字,姓氏,地址,日期 Id、名字、姓氏、电子邮件、电话、日期 身份证,名字,姓氏,地址,日期 Id、名字、姓氏、电子邮件、电话、日期 身份证,名字,姓氏,地址,日期 Id、名字、姓氏、电子邮件、电话、日期 如何使用Linq实现这一点 好的,我有自己的进一步解释,这是我的任务:为了同时从两个表中收集信息以创建预填充的PDF,两者之间必须存在关系。我必须使用Linq和MVC4.5

我有两张桌子:

  • 身份证,名字,姓氏,地址,日期
  • Id、名字、姓氏、电子邮件、电话、日期
  • 现在我想收到结果:

    • 身份证,名字,姓氏,地址,日期
    • Id、名字、姓氏、电子邮件、电话、日期
    • 身份证,名字,姓氏,地址,日期
    • Id、名字、姓氏、电子邮件、电话、日期
    • 身份证,名字,姓氏,地址,日期
    • Id、名字、姓氏、电子邮件、电话、日期
    如何使用Linq实现这一点

    好的,我有自己的进一步解释,这是我的任务:为了同时从两个表中收集信息以创建预填充的PDF,两者之间必须存在关系。我必须使用Linq和MVC4.5

    我以为这会很容易,但圣诞节后我有了一些精神障碍

    这就是我想要实现的目标:

    var last24h = DateTime.Now.AddHours(-24);
            var resultL = db.Loans.Where(p => p.CreatedDate >= last24h).Select( p=> new PDFList() {
                Id = p.Id,
                Amount = p.Amount,
                Term = p.Term,
                Purpose = p.Purpose,
                FirstName = p.FirstName,
                LastName = p.LastName,
                Address = p.Address,
                Email = p.Email,
                PropertyValue = 0,
                CreatedDate = p.CreatedDate,
                Seen = p.Seen,
                AdvisorId = p.AdvisorId
            });
            var resultM = db.Mortgages.Where(p => p.CreatedDate >= last24h).Select(p => new PDFList()
            {
                Id = p.Id,
                Amount = p.Amount,
                Term = p.Term,
                Purpose = "",
                FirstName = p.FirstName,
                LastName = p.LastName,
                Address = p.Address,
                Email = p.Email,
                PropertyValue = p.PropertyValue,
                CreatedDate = p.CreatedDate,
                Seen = p.Seen,
                AdvisorId = p.AdvisorId
            });
            var resultLM = resultL.Concat(resultM).OrderByDescending(p=>p.CreatedDate).ToList();
    

    您可以按照下面提到的类型对表进行内部联接。请尝试

    这是Linq内部联接的示例

    public void Linq102() 
    { 
    
        string[] categories = new string[]{  
            "Beverages",   
            "Condiments",   
            "Vegetables",   
            "Dairy Products",   
            "Seafood" };  
    
        List<Product> products = GetProductList(); 
    
        var q = 
            from c in categories 
            join p in products on c equals p.Category 
            select new { Category = c, p.ProductName }; 
    
        foreach (var v in q) 
        { 
            Console.WriteLine(v.ProductName + ": " + v.Category);  
        } 
    }
    
    public void Linq102()
    { 
    字符串[]类别=新字符串[]{
    “饮料”,
    “调味品”,
    “蔬菜”,
    “乳制品”,
    "海鲜";;
    List products=GetProductList();
    变量q=
    从c到类别
    在c等于p的范畴上的乘积中加入p
    选择新建{Category=c,p.ProductName};
    foreach(q中的v值)
    { 
    Console.WriteLine(v.ProductName+:“+v.Category);
    } 
    }
    
    你可以得到更多的细节


    我希望这将对您有所帮助。

    您的表名是什么?看起来您想在表之间摆动?这很奇怪。即1,2,1,2。。。对吗?如果您希望我们能够提供帮助,我们肯定需要更多的细节。ID是一样的吗?它们是连续的吗?等等…我以为你想用锤子把螺丝钉钉进木头里。。。你也许能完成任务,但可能有更好的工具来完成任务。结果是什么?收集物品?HTML表格?CSV文件?你的“结果”没有一致的字段。这个概念很糟糕。这是一个交替行的并集,所以完全不是SQL的目的。您应该加入,然后在用于生成报告的任何前端进行拆分。这是“面向初学者的后端SQL和‘什么是select语句’”。