如何自动创建与访问表兼容的类

本文关键字:访问表 何自动 创建 | 更新日期: 2023-09-27 17:57:35

我想使用Linq连接到access2007数据库(我不想使用ado.net)。

我看到了一些例子,但所有的例子都为我想从数据库导入的对象创建了一个类,例如

 public class Company
 {
     public string Name
     { get; set; }
     public List ListEmp
     { get; set; }
 }
var EmpDetails = from comp in ListCompany
                          select new
                          {
                              Emp = (from emp in comp.ListEmp
                                     select new { Company = comp.Name, emp })
                          };

当你有一个小数据库时,这很容易,但我有一个表中有30属性的数据库,所以很难从表中为对象创建一个类

那么有没有一种更容易的方法,比如自动创建一个与表中的对象兼容的对象

如果我不清楚,请告诉我,这样我就可以澄清

感谢

如何自动创建与访问表兼容的类

首先,请注意,LINQ to SQL没有经过(AFAIK)验证以在Access上使用。它通常工作,但MMMV。

就我个人而言,我会通过将Access数据库中的表导入(迁移)到SQL Server Express实例中,并使用该实例生成模型来实现这一点(当然,工具甚至可能对Access有效,但我认为它们不起作用-因此出现了问题)。生成模型后,您应该能够将它(在运行时,通过连接字符串或连接)指向您的访问数据库。

您还可以考虑:为什么不将保留为SQLServerExpress节点呢?它运行良好,而且在LINQ to SQL方面得到了更好的支持。

还要注意,还有其他类似LINQ到SQL的工具可能适用于您的目的;DbLinq、dapper dot net等-以及一些更重的工具(EF、NHibernate、LLBLGen Pro等)

XPO是Developer Express的一个ORM工具,它允许您直接从Access 2007/2010数据库创建.Net类,并使用Linq创建查询。

好的一面是,如果你想更改数据库后端,比如说你把数据从Access传输到了SQL Server、MySQL或PostgreSQL,等等,你只需要更改数据库连接字符串,而不是你的代码。

文档可在线获取。