2

私は EF コード ファーストで SQL Server CE を使用しています。私は次のドメインクラスを持っています:

public class User:BaseEntity
{
    public User()
    {
        this.UserForms = new List<UserForm>();
        IsAdmin = false;
        IsActive = true;
    }

    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string UserName { get; set; }
    public string Password { get; set; }
    public bool IsAdmin { get; set; }
    public bool IsActive { get; set; }

    public virtual ICollection<UserForm> UserForms { get; set; }
}

および次のマッピング クラス:

 public class UserMap : EntityTypeConfiguration<User>
 {
        public UserMap()
        {
            // Primary Key
            this.HasKey(t => t.Id);

            // Properties
            this.Property(t => t.FirstName)
                .HasMaxLength(25)
                .IsRequired();

            this.Property(t => t.LastName)
                .HasMaxLength(30)
                .IsRequired();

            this.Property(t => t.UserName)
                .HasMaxLength(10)
                .IsRequired();

            this.Property(t => t.Password)
                .HasMaxLength(30)
                .IsRequired();
        }
    }

EF は次のテーブルを作成します。

ここに画像の説明を入力

ntextテーブルを作成する代わりにEF を使用nvarcharし、アプリを実行すると次のエラーが発生します。

ntext および image データ型は、WHERE、HAVING、GROUP BY、ON、または IN 句では使用できません。ただし、これらのデータ型が LIKE または IS NULL 述語と共に使用される場合を除きます。

この問題を解決するにはどうすればよいですか?

4

1 に答える 1

0

列タイプを強制しようとしましたか?

this.Property(t => t.FirstName)
.HasColumnType("nvarchar")
.HasMaxLength(25)
.IsRequired();
于 2013-10-31T06:48:03.030 に答える