C#多表查询,使用视图查询

本文介绍了如何在C#中通过创建视图来实现多表查询。视图被视为一个表,允许开发者进行复杂的数据库操作。在数据库中创建视图后,在编程软件如Visual Studio中可以将其作为普通表处理。文中提到了两种处理查询结果的方法,分别返回Json数据和DataTable类型,并展示了相关代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要更正以下:不是只能查询一个表的,而是只能返回一个表


正常来说是不能多表查询的,只能是查询一个表的,但是我们可以创建视图来进行多表查询。视图相当于一个表,把查询出来的内容放到视图中,加快查询速度。

我们要在数据库中创建视图,创建视图语句就自己百度啦,有不懂的可以搜索相关视图的知识。
这里我就放上查看视图语句,这只是两表查询,要想实现三表甚至四表查询只要把查询语句改改就可以了。

ALTER view [dbo].[视图名称]
as
select 
	a.id,
	b.name
from1 a,2 b
where a.id=b.id

OK~~视图创建成功。
接下来就要在visual(一个编程软件)中创建实体类,就像创建一个正常的表那样创建就行。因为我是在配置中直接映射数据库的了,所以我就不用再去创建实体类,这里就不放上代码了。

(不管是什么语言,就把视图当作一个表那样子引用就好,其他表怎么查询的这个视图就怎么查询)

以下是我工作中的代码,是有另外定义了方法的(就只是记录一下)

有两种方法,不过它们的区别只是类型不一样,一个是Json数据类型,一个是DataTable类型。
还有一个区别在QueryBuilder与QueryParser(也是有定义方法的),这两个主要是传递过来的data形式不一样。
直接上代码:

public void Get(HttpContext context)
        {
   
            string strExpr = QueryBuilder.GetWhereStr(context);

            DataTable source = new DataTable();
            KQuery query = new KQuery();
            source = query.ExecuteQuery("视图名", strExpr);
            //这是返回的Json类型
            //ToJson(source)是把DataTable类型转换成Json类型
            string jsonString = JsonHelper.ToJson(source);
            context.Response.Write(jsonString);
        }

再来看看返回DataTable类型的。DataTable相当于一个数据表,关于什么是DataTable可以去看其他大佬的理解,我也不太懂,怕误导你们,等之后理解了再来更。

public void ListSums(HttpContext context)
        {
   
            string strWhere = QueryParser.GetCriteria(</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值