博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实现CopyToDataTable 的T不为DataRow的查询方法(和MSDN上的方法一样)
阅读量:6641 次
发布时间:2019-06-25

本文共 1563 字,大约阅读时间需要 5 分钟。

今天在研究LINQ to DataSet的分层结构中的应用和一个在泛性T不是DataRow的情况下,如何通过使用LINQ to DataSet返回DataTable,我发现为 上有一个动态的将你查询结果Source的每一个枚举一个一个的注入到DataTable中的DataRow对象中..
看看怎样实现的..
数据
        [Table(Name 
=
 
"
Orders
"
)]
        
public
 
class
 Orders
        
{
            [Column(DbType 
= "nchar(5) null")]
            
public string CustomerID;
            [Column(DbType 
= "int null")]
            
public int EmployeeID;
            [Column(DbType 
= "datetime null")]
            
public string OrderDate;
        }
        [Table(Name 
=
 
"
Employees
"
)]
        
public
 
class
 Employees
        
{
            [Column(DbType 
= "int not null")]
            
public int EmployeeID;
            [Column(DbType 
= "nvarchar(10) not null")]
            
public string FirstName;
            [Column(DbType 
= "nvarchar(30) null")]
            
public string Title;
        }
实现
  
public
 DataSet createDataTable()
        
{
            DataContext context 
= new DataContext(ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString);
            Table
<LINQtoDS_WebApp.BussinessEntity.Orders> orderTable = context.GetTable<LINQtoDS_WebApp.BussinessEntity.Orders>();
            Table
<LINQtoDS_WebApp.BussinessEntity.Employees> empTable = context.GetTable<LINQtoDS_WebApp.BussinessEntity.Employees>();
            var query1 
= from o in orderTable
                         
where o.CustomerID.StartsWith("V")
                         select o;
            var query2 
= from es in empTable select es;
            DataTable orderDataTable 
= new DataTable("OrdersTable");
            DataTable empDataTable 
= new DataTable("EmployeesTable");
             DataSet ds = new DataSet();
        ds.Tables.Add(DataSetLinqOperators.CopyToDataTable(source, orderDataTable, LoadOption.PreserveChanges));
            ds.Tables.Add(DataSetLinqOperators.CopyToDataTable(source2, empDataTable, LoadOption.PreserveChanges));
            
return ds;
        }
你把这个 的类复制过来.放在一起就能实现了;
再在页面去和GridView绑定就可以拉
你可能感兴趣的文章
移动端学习笔记(三)
查看>>
ubuntu下搭建svn服务器
查看>>
Grid保存之后设置某列不可编辑
查看>>
项目中常用的MySQL优化方法--壹拾玖条
查看>>
Git分布式版本控制遇到的问题&如何把本地的项目上传到码市上
查看>>
Java jsoup多线程爬虫(爬豆瓣图书封面)
查看>>
访问百度的过程
查看>>
内存对齐.结构体对齐
查看>>
USB子系统gadget analyse
查看>>
selenium webdriver API
查看>>
关于Android开发中Arm、X86和Mips(草稿)
查看>>
Weblogic报错:Unsupported major.minor version 52.0
查看>>
Python_函数_参数
查看>>
排序算法之堆排序及其C语言代码实现
查看>>
Linux Shell基础 Bash常见命令 echo命令
查看>>
公开一个云计算和云存储的源代码.
查看>>
js点击出现二级菜单,点击二级菜单主菜单换成二级菜单
查看>>
Git远程操作详解(clone、remote、fetch、pull、push)
查看>>
jquery mobile 复选框和单选框
查看>>
cookie,session与中间键
查看>>