2

我使用 SQL Server CE 和 EF 代码优先。我有以下域类:

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 为我创建了下表:

在此处输入图像描述

使用 EFntext而不是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 回答