Nic*_*s H 7 entity-framework ef-code-first
基本上我有一个带有邮政编码的表格.zipcode字段定义为'char(5)'.我首先使用代码,所以我将这些属性放在ZipCode属性上:
[Key, Column( Order = 0, TypeName = "nchar"), StringLength(5)]
public string ZipCode { get; set; }
现在如果我在EF中查询这个:
var zc = db.ZipCodes.FirstOrDefault(zip => zip.ZipCode == "12345");
生成的SQL使用nvarchar(4000)来注入参数.咦?是因为"12345"在技术上是一个未知长度的字符串?在查询该表时,EF不应该足够聪明才能使用正确的"nchar(5)"吗?
我问,因为nvarchar(4000)查询需要半秒钟,而正确范围的查询要快得多(并且读取次数少).
任何帮助/建议将不胜感激.
这是为了利用自动参数化。以下文章解释了一般概念以及为什么专门使用 nvarchar(4000)。
http://msdn.microsoft.com/en-us/magazine/ee236412.aspx
| 归档时间: | 
 | 
| 查看次数: | 3112 次 | 
| 最近记录: |