首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >LINQ帮助初学者选择多个表

LINQ帮助初学者选择多个表
EN

Stack Overflow用户
提问于 2011-06-29 15:38:36
回答 2查看 1.3K关注 0票数 3

我有下面的存储库,其中包括三个用于返回我的db对象的方法,前两个查询工作得很好,因为它们简单地返回一个数据列表,然而,由于thrird方法需要从两个表中进行选择,所以我有点困惑于如何做到这一点。

谁能给我指出正确的方向,如何写一个LINQ查询,从两个相关的表中选择传递到下面所示的存储库中的最后一个方法(CustomerAndSites) -这两个表在客户ID字段上相关,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CustomerDatabase.Domain.Abstract;
using CustomerDatabase.Domain.Concrete;
using CustomerDatabase.Domain.Entities;
using System.Data.Linq.Mapping;
using System.Data.Linq;
using System.Web.Mvc;

namespace CustomerDatabase.Domain.Concrete
{
 class SqlCustomersAndSitesRepository : ICustomersAndSitesRepository
{
    public Table<CustomerSite> customerSitesTable;
    public Table<Customer> customerTable;                              


    public SqlCustomersAndSitesRepository(string connectionString)
    {
        customerSitesTable = (new  DataContext(connectionString)).GetTable<CustomerSite>();
        customerTable = (new DataContext(connectionString)).GetTable<Customer>();
    }

    public IQueryable<CustomerSite> CustomerSites
    {
        get { return customerSitesTable; }
    }

    public IQueryable<Customer> Customers
    {
        get { return customerTable; }
    }

    public IQueryable <ICustomersAndSitesRepository> CustomerAndSites
    {
        get { return CustomerAndSites; }
    }

}

}

====Update

这是我的ICustomersAndSitesM接口,我在哪里定义CustomersAndSitesMix,我需要将它创建为一个独立的实体吗?我的UI项目中有一个视图模型,其中包含两个对象的属性。

使用系统;使用System.Collections.Generic;使用System.Linq;使用System.Text;使用CustomerDatabase.Domain.Entities;

命名空间接口{ CustomerDatabase.Domain.Abstract ICustomersAndSitesM { IQueryable Customers { get;} IQueryable CustomerSites { get;}}

}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-29 15:54:59

如果您的两个表实际上是通过外键正确链接的,那么当您拉入父记录时,LINQ也会拉入子记录。您需要在调试时检查DataContext返回的模型,并且应该能够在充分挖掘的情况下看到任何链接的记录。例如,如果您有链接到客户的站点,则在客户域模型结果中,您应该看到一个名为" Sites“的字段,它是链接到客户的站点域模型的列表。

票数 0
EN

Stack Overflow用户

发布于 2011-06-29 16:06:03

与其返回'ICustomersAndSitesRepository',我猜你实际上想要一个'CustomersAndSitesMix‘。如果是这样,您可以这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public IQueryable<ICustomersAndSitesM> CustomerAndSites
{
    get
    {
        return from customer in customerTable
               join site in customerSitesTable
                    on customer.PLACEKEYHERE equals site.PLACEKEYHERE
               select new CustomersAndSitesMix(customer, site);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6523337

复制
相关文章
VBA小技巧09:从非连续的单元格区域将值复制到指定单元格区域
本文将给出一段VBA代码,从非连续的单元格区域复制值并粘贴到另外指定的单元格区域。
fanjy
2021/07/30
3.3K0
Excel创建动态单元格区域
美术同学找我说想要一个查找引用功能,大体的表结构我看了一下有点奇怪(主要是命名一样),可能因为历史原因暂时也不太好修改,只好用Excel函数实现他所需要的功能。
meteoric
2022/09/08
1.6K0
Excel创建动态单元格区域
ExcelVBA判断区域中是否有值并输入数据
Sub tfff() ActiveSheet.UsedRange.Interior.ColorIndex = xlNone Rng = Range("a1") Range(Rng).Interior.ColorIndex = 2 Range(Rng).Borders.LineStyle = xlContinuous i = 1 For Each r In Range(Rng) If r.Value = "" Then r.Value = i i = i + 1 End If Next End Sub
哆哆Excel
2022/10/25
1.2K0
ExcelVBA判断区域中是否有值并输入数据
如何使用 Pygame 创建文本输入框?
要使用pygame,应该对Python语言有基本的了解。在本教程结束时,我们将能够了解 Pygame 的工作原理。它包括制作视频游戏和图形的几个功能。在安装 Pygame 之前,应该在系统中安装 Python。
很酷的站长
2023/08/11
5450
如何使用 Pygame 创建文本输入框?
uniapp 如何将输入值转成大写
本教程操作环境:windows7 系统、uni-app v3 版本,该方法适用于所有品牌电脑。
CRMEB商城源码
2022/05/24
1.7K0
uniapp 如何将输入值转成大写
复制到浮动层,强调显示某个(多个)区域
//强调显示某个区域         public void EmphasisRegion(string ShowType,string ShowKey,Map map)         {             MapInfo.Geometry.DRect bd=new DRect(0,0,0,0);             (_tempTable as IFeatureCollection).Clear();  //清空             foreach(Feature ftr in MapIn
用户1075292
2018/01/23
9110
问与答124:如何根据输入值进行动态筛选?
Q:我想在工作表中应用动态筛选,当我在文本框中输入时,Excel会根据我输入的数据动态显示工作表中与输入值相匹配的数据,如何实现?
fanjy
2021/05/07
2K0
【实例】调整区域大小&动态隐藏区域
实例参照地址:https://jsfiddle.net/381510688/fb6Lz9rm/
奋飛
2019/08/14
1.7K0
小程序中监听textarea或者input输入的值动态改变data中数组的对象的值
小程序中监听textarea或者input输入的值动态改变data中数组的对象的值,不能通过setData设置数组对应索引的对象的值来改变,改变之后,能检测到改变,但是值为空。先通过赋值改变其中数组中的对象的值,然后重新设置数组。
用户4792944
2019/04/20
5.5K0
PlayWright(六)- 文本输入
上文中我们已经可以定位元素了,并且还学习了点击操作,但有些是需要我们输入文本信息的,我们来学习下playwright的文本输入
似小陈吖
2023/10/17
7560
PlayWright(六)- 文本输入
小程序中监听textarea或者input输入的值动态改变data中数组的对象的值
小程序中监听textarea或者input输入的值动态改变data中数组的对象的值,不能通过setData设置数组对应索引的对象的值来改变,改变之后,能检测到改变,但是值为空。先通过赋值改变其中数组中的对象的值,然后重新设置数组。
蓓蕾心晴
2018/07/24
4.4K0
HDFS——如何将文件复制到HDFS
在Hadoop中用作文件操作的主类位于org.apache.hadoop.fs包中。基本的文件操作有open、read、write和close。实际上,Hadoop的文件API是通用的,可用于HDFS以外的文件系统。
星哥玩云
2022/06/30
2.1K0
flutter之文本输入
Flutter 提供了两个开箱即用的文本框组件:TextField 和 TextFormField。
用户1974410
2022/09/20
2.6K0
微信小程序-form表单-获取用户输入文本框的值
微信小程序-form表单-获取用户输入文本框的值 <input name='formnickname' class="textarea" placeholder="{{geren.nickname}}" value='{{geren.nickname}}' bindinput="nickname" maxlength='15' auto-height/> // 获取昵称 nickname: function(e) { this.setData({ nickname: e.de
达达前端
2022/04/29
2.3K0
将文件内容复制到另外文件
在示例类Demo.FileDemo中,ProcessFile()方法接受输入文件和输出文件,并调用SetUpInputFile()和SetUpOutputFile()打开文件,一个用于读取,另一个用于写入。然后,它逐行读取输入文件,并调用ProcessLine()对每行的内容执行一个或多个替换,将每行的新内容写入输出文件。
用户7741497
2022/07/06
9950
[android] fragment的动态创建
在一个商业软件中,会有很多的界面,如果没一个界面对应一个activity,那么activity会非常的多,清单文件也会非常的乱,谷歌在android3.0以后引入了新的概念叫fragment
唯一Chat
2019/09/10
2.1K0
网页实现把文本复制到粘贴板
思路整理 有一个按钮可以触发以下逻辑: 将生成的文本自动复制到剪切板上 结果要有友好提示 复制成功后可以粘贴到任何地方 一开始我以为有通用的接口,一番调研之后发现有以下几种东东: document.execCommand("copy")这个用于在要复制的文本处于被选中状态时使用 window.clipboardData.setData("Text", clipBoardContent)为挂载在window上的API 据说兼容性不好 结合ZeroClipboard.js这个插件实现兼容性比较好的复制粘贴,通过
卡少
2018/05/16
2.3K0
java Swing用户界面组件文本输入:文本域+密码域+格式化的输入域
现在终于可以开始介绍Swing用户界面组件了。首先,介绍具有用户输入和编辑文本功能的组件。文本域(JTextField)组件和文本区(JTextArea)组件用于获取文本输入。文本域只能接收单行文本输入而文本区可以接收多行文本输入。
愿天堂没有BUG
2022/10/28
4.1K0
java Swing用户界面组件文本输入:文本域+密码域+格式化的输入域
SystemVerilog(五)-文本值
System Verilog 扩展了 Verilog 的 教据类型 , 增强了指定文本值的方法。在介绍文本值之前我们先简单回忆一下HDL中的四个状态数据值。
碎碎思
2022/04/14
1.2K0
SystemVerilog(五)-文本值
点击加载更多

相似问题

从字符串中删除一些行

21

从MySQL中的列中删除一些字符

212

从MySQL中删除行

11

从mysql行的字符串中删除单词

22

从MySql中删除重复行

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文