LINQ to SQL是否允许更改表格,类似于创建表格的方式DataContext.CreateDatabase()
?
我知道修改数据库的不良做法,但是,可能需要将新信息添加到我们的数据结构中。我想知道LINQ to SQL是否允许推送系统改变现有的表?
如果此功能没有内置的LINQ to SQL类,那么解决此问题的最佳方法是什么?
更新
似乎这是不可能的。我已经请求将新功能添加到.NET Framework中。如果您也有兴趣,请投票:connect.microsoft.com Feature Request。
另请参阅问题Is it possible to use Linq to ALTER a database table?。
答案 0 :(得分:1)
我不知道有什么方法可以做到这一点......我认为鉴于LINQ试图将数据库的结构抽象出来,这可能不是正确的工具。
我只是打开一个与数据库的连接,并对原始数据库执行ALTER TABLE语句。
答案 1 :(得分:0)
我认为你所寻找的术语是“数据库迁移”,由ruby on rails推广。对于.Net,有MigratorDotNet。它根本不与Linq To SQL(或任何其他ORM)捆绑在一起,但它可能有助于你想要完成的任务。
这是。{
答案 2 :(得分:0)
查看Paul Stovell关于How to deploy a database的精彩文章。我过去也使用SQL Deploy取得了很大的成功。
答案 3 :(得分:0)
进行转移的方法是制作工具
1.-该工具必须知道旧的数据库模式 2.-该工具必须知道新的数据库模式
用它来制作升级数据库的方法,这里有一个例子
table Person (old) table Person (new)
id id
name name
age
然后从旧数据库中选择all,然后在更新的数据库中创建新行
new person {
id=oldPerson.id;
name=oldPerson.name
age=defaultAge;
}