如何更新本地数据库上的架构?
在我的应用程序的下一版本中,我需要将本地数据库中的一个表上的一列从 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
事实证明 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.