LINQ to SQL:更改表或将新表添加到现有数据库

发布于 2024-10-11 16:19:15 字数 761 浏览 5 评论 0原文

LINQ to SQL 是否允许以类似于创建表的方式更改表 DataContext.CreateDatabase()

我知道修改数据库是不好的做法,但是,可能需要将新信息添加到我们的数据结构中。我想知道 LINQ to SQL 是否允许推送系统更改现有表?

如果没有用于此功能的内置 LINQ to SQL 类,那么实现此功能的最佳方法是什么?

更新:

这似乎是不可能的。我已请求将新功能添加到 .NET Framework 中。如果您也感兴趣,请投票:connect.microsoft.com 功能请求

另请参阅问题 是否可以使用 Linq更改数据库表?

Does LINQ to SQL allow tables to be altered similar to the way tables can be created DataContext.CreateDatabase()?

I know its bad practice to modify the database, however, new information may need to be added to our data structure. I wondered if LINQ to SQL allowed for a push system to alter existing tables?

If there is no built in LINQ to SQL class for this functionality, what isthe best way to approach this?

Update:

It appears as if this is not possible. I have requested a new feature to be added to the .NET Framework. Vote for it if you are also interested: connect.microsoft.com Feature Request.

Also see the question Is it possible to use Linq to ALTER a database table?.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

一念一轮回 2024-10-18 16:19:15

我不知道有什么方法可以做到这一点...我认为鉴于 LINQ 试图抽象数据库的结构,这可能不是正确的工具。

我只需打开与数据库的连接并对原始数据库执行 ALTER TABLE 语句。

I don't know of any way to do it...I think given that LINQ is trying to abstract the structure of the db away, that's probably not the right tool.

I would just open a connection to the database and execute ALTER TABLE statements against the raw database.

羅雙樹 2024-10-18 16:19:15

我认为您正在寻找的术语是“数据库迁移”,由 Ruby on Rails 普及。对于 .Net,有 MigratorDotNet。它根本不与 Linq To SQL(或任何其他 ORM)绑定,但它可能有助于您实现目标。

这是 .Net 的一些其他实现

I think the term for what you're looking for is "database migrations", popularized by ruby on rails. For .Net there is MigratorDotNet. It's not tied in to Linq To SQL (or any other ORM) at all, but it might help with what you're looking to accomplish.

Here's some other implementations for .Net

盛夏已如深秋| 2024-10-18 16:19:15

查看 Paul Stovell 关于如何部署数据库的精彩文章。我过去也曾使用 SQL Deploy 取得了巨大成功。

Check out Paul Stovell's great article on How to deploy a database. I've also used SQL Deploy to much success in the past.

遮了一弯 2024-10-18 16:19:15

进行传输的一种方法是制作一个工具

1.- 该工具必须知道旧的数据库模式
2.- 该工具必须知道新的数据库模式

,只需制定升级数据库的方法,这里是一个示例

    table Person (old)          table Person (new)
     id                           id
     name                         name
                                  age

,然后从旧数据库中选择所有内容,然后在更新的数据库中创建新行

    new person {
       id=oldPerson.id;
       name=oldPerson.name
        age=defaultAge;
       }

a way to do the transfer is making a tool

1.- the tool must know the old database schema
2.- the tool must know the new database schema

with that just make the methods to upgrade the database, here an example

    table Person (old)          table Person (new)
     id                           id
     name                         name
                                  age

then select all from the old database and then create the new rows in the updated database

    new person {
       id=oldPerson.id;
       name=oldPerson.name
        age=defaultAge;
       }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文