如何更新本地数据库上的架构?

发布于 2024-12-08 12:27:00 字数 477 浏览 0 评论 0原文

在我的应用程序的下一版本中,我需要将本地数据库中的一个表上的一列从 NVarChar(16) 更新为 NVarChar(255)。目前该列标记如下:

[global::System.Data.Linq.Mapping.TableAttribute()]
public partial class Message : INotifyPropertyChanged
{
    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Name", DbType = "NVarChar(16) NOT NULL", CanBeNull = false)]
    public string Name
    {
       ...
    }
}

我见过的所有示例都指向 DatabaseSchemaUpdater 类,但是,它具有添加列的方法,但没有更新列长度的方法。

如何更新列长度?

In the next version of my app, I need to update a column from NVarChar(16) to NVarChar(255) on one of the tables in my local database. Currently the column is marked up as follows:

[global::System.Data.Linq.Mapping.TableAttribute()]
public partial class Message : INotifyPropertyChanged
{
    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Name", DbType = "NVarChar(16) NOT NULL", CanBeNull = false)]
    public string Name
    {
       ...
    }
}

All examples that I've seen point to the DatabaseSchemaUpdater class, however, it has methods to Add a column, but none to update the length of the column.

How do I update the column length?

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

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

发布评论

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

评论(1

暗地喜欢 2024-12-15 12:27:00

事实证明 API 不允许你这样做。或者删除列。您唯一能做的就是添加一个新列(由于某种原因它必须可以为空),使用它并忽略您不再需要的列。

API 设计薄弱。

It turns out the API does not allow you to do that. Or drop columns. The only thing you could do is add a new column (it must be nullable for some reason), use it and ignore the ones you no longer want.

Weak API design.

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