Entity Framework 4.1 代码优先方法:如何定义属性的长度

发布于 2024-11-01 18:36:32 字数 317 浏览 0 评论 0原文

正如标题所暗示的:

如何在代码优先方法中告诉实体框架 4.1,我确实希望某些属性(特别是字符串类型)的长度为 256,或 nvarchar(max),或...

所以例如,如果这是我的模型,

public class Book{
   public string Title { get; set; } //should be 256 chars
   public string Description {get;set} //should be nvarchar(max)
}

如何定义它?

提前致谢!

As the title implies:

how is it possible to tell Entity Framework 4.1 in code first approach, that i do want some properties (in particular of type string) to have a length of 256, or nvarchar(max), or...

So if this is for example my model

public class Book{
   public string Title { get; set; } //should be 256 chars
   public string Description {get;set} //should be nvarchar(max)
}

how could it be defined?

Thanks in advance!

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

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

发布评论

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

评论(3

梦在深巷 2024-11-08 18:36:32

在 EF4.1 RTW 中,对于 SQL Server,默认长度为 nvarchar(max);对于 SQL CE,默认长度为 nvarchar(4000)。要更改长度,请使用 StringLengthMaxLength 注释或流畅映射 HasMaxLength

[StringLength(256)]
public string Title { get; set; }

[MaxLength(256)]
public string Title { get; set; }

modelBuilder.Entity<Book>()
            .Property(p => p.Title)
            .HasMaxLength(256);

In EF4.1 RTW default length is nvarchar(max) for SQL Server and nvarchar(4000) for SQL CE. To change the length use either StringLength or MaxLength annotations or fluent mapping HasMaxLength:

[StringLength(256)]
public string Title { get; set; }

Or

[MaxLength(256)]
public string Title { get; set; }

Or

modelBuilder.Entity<Book>()
            .Property(p => p.Title)
            .HasMaxLength(256);
预谋 2024-11-08 18:36:32

正如我的评论中所述,这很简单。
只需使用 DataAnnotation 中的 [StringLength(1000)][MaxLength] 即可。

As is stated in my comment, it's simple.
Just use [StringLength(1000)] or [MaxLength] from DataAnnotation.

若言繁花未落 2024-11-08 18:36:32

您可以使用以下方式
如果您想要最大字符串长度

[StringLength(Int32.MaxValue)]

Or

[MaxLength]

Or

Property(m => m.Title ).IsRequired().HasMaxLength(128);

Or

[MaxLength(256)]

You can use the following way
If you want a Maximum string length

[StringLength(Int32.MaxValue)]

Or

[MaxLength]

Or

Property(m => m.Title ).IsRequired().HasMaxLength(128);

Or

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