首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库架构库

数据库架构库
EN

Stack Overflow用户
提问于 2011-02-13 17:23:21
回答 2查看 383关注 0票数 1

是否有任何.NET库允许用户使用不同DB提供程序的相同代码从代码操作数据库模式?

我构建了自己的实用程序库,它允许我创建或修改表或列,但我想知道是否已经有这样的库。一个还包括约束和索引的。

我使用的是这样的东西:

代码语言:javascript
复制
DBManager db = new DBManager(connString);
DBTable persons = new DBTable("Persons");
orders.Columns.Add(new DBColumn("Name", DBType.Varchar, 100);
orders.Columns.Add(new DBColumn("Birthday", DBType.Date);
db.CreateTable(persons);
db.AddColumn("Persons", new DBColumn("CityID",DBType.Int);
db.DropColumn("Persons", "Birthday");

当然,这不是硬编码的。我想向我的应用程序添加一个功能,允许用户指定他们自己的实体,这些实体可以存储在数据库中,然后我的应用程序将使用该库来创建底层数据库表。

EN

回答 2

Stack Overflow用户

发布于 2011-02-17 03:18:59

我只知道如何在不同的DB提供程序中使用相同的代码来查询数据库模式。

从DotNet2.0开始,大多数dotnet都实现了System.Data.Common.DbConnection

使用System.Data.Common.DbConnection.GetSchema()函数(不带参数),您可以询问提供者它支持哪种collectionNames (表、视图、存储过程……)这些可以与GetSchema(collectionName)一起使用,以获取更多详细信息。在这些细节中,甚至还支持数据类型和正则表达式来验证字段名。

您还可以查看。它的mymeta引擎围绕不同的数据库提供者构建了一个通用的api。

NHibernate也必须有类似于公共数据库提供程序的东西。但是我还没有看过它的源代码。

票数 1
EN

Stack Overflow用户

发布于 2011-02-13 17:38:04

您可以使用SQL Server管理对象http://msdn.microsoft.com/en-us/library/ms162169.aspx

当然,如果您使用的是SQL Server ...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4983411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档