首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FluentMigrator NotSupportedException -映射NotSupportedException列

FluentMigrator NotSupportedException -映射NotSupportedException列
EN

Stack Overflow用户
提问于 2015-02-27 15:30:48
回答 1查看 224关注 0票数 0

我在一个项目中使用FluentMigrator,当我试图在现有的表中添加一个新的xml列时,数据库中的更新遇到了一些问题。

我在用:

  • FluentMigrator 1.3.1.0
  • FluentMigrator.Tools 1.3.1.0
  • Server 2014
  • .Net框架4.5

migrator是通过使用SqlServer2012ProcessorFactory配置的。

在我的迁移中,我有以下代码:

代码语言:javascript
复制
[Migration(201502271030)]
public class _201502271030_AddLineItemAndSummariesColumn : Migration
{
    public override void Up()
    {
        Create.Column("InitialDiscount").OnTable("LineItems").InSchema(Const.Schema.DeskReview)
            .AsDecimal(11, 2).Nullable().WithDefaultValue(false);
        Create.Column("AcceptedDiscount").OnTable("LineItems").InSchema(Const.Schema.DeskReview)
            .AsDecimal(11, 2).Nullable().WithDefaultValue(false);
        Create.Column("BodyshopName").OnTable("LineItems").InSchema(Const.Schema.DeskReview)
            .AsString(Const.Length.Name).Nullable().WithDefaultValue(false);
        Create.Column("State").OnTable("LineItems").InSchema(Const.Schema.DeskReview)
            .AsString(Const.Length.Name).Nullable().WithDefaultValue(false);
        Create.Column("City").OnTable("LineItems").InSchema(Const.Schema.DeskReview)
            .AsString(Const.Length.Name).Nullable().WithDefaultValue(false);

        Create.Column("ExternalDataXml").OnTable("WorkQueueItems").InSchema(Const.Schema.DeskReview)
            .AsXml(int.MaxValue).Nullable().WithDefaultValue(false);
        Create.Column("Version").OnTable("WorkQueueItems").InSchema(Const.Schema.DeskReview)
            .AsInt32().Nullable().WithDefaultValue(0);
    }

    public override void Down()
    {

    }
}

但是,当我运行这段代码时,我得到了一个例外:

异常详细信息: System.NotSupportedException:不支持的DbType 'Xml‘

代码语言:javascript
复制
Line 15:             try
Line 16:             {
Line 17:                 base.ApplyMigrationUp(migrationInfo, useTransaction);
Line 18:             }
Line 19:             catch (Exception e)

有没有人有过这样的问题,或者知道出了什么问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-01 21:35:29

问题是:我试图用以下方法指定XML的最大长度:

代码语言:javascript
复制
.AsXml(int.MaxValue)

在以下位置:

代码语言:javascript
复制
Create.Column("ExternalDataXml").OnTable("WorkQueueItems").InSchema(Const.Schema.DeskReview)
        .AsXml(int.MaxValue).Nullable().WithDefaultValue(false);

我刚删除了参数,它起作用了。

所以,代码是这样的:

代码语言:javascript
复制
Create.Column("ExternalDataXml").OnTable("WorkQueueItems").InSchema(Const.Schema.DeskReview)
            .AsXml().Nullable();

多蠢的问题..。但没问题。

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

https://stackoverflow.com/questions/28768651

复制
相关文章

相似问题

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