首页 > 解决方案 > 为什么我们在 EF6 的存储过程映射中设置“属性”

问题描述

我是EF6的新手。我用输入类型的变量定义了一个 SP。在 SP 中指定哪个变量与哪个列相关联。那么,为什么要在存储过程映射中设置“Property”呢?不同? Sp映射

标签: c#entity-frameworkstored-procedures

解决方案


发生的是从SQL类型到.NET类型的映射。

.NET有不同的类型SQL

你可以在这里找到一份清单。

实体框架将为您处理转换。

这是表格的一部分:

SQL Server Database Engine type         .NET Framework type         SqlDbType 
-------------------------------------------------------------------------------
bigint                                 Int64                        BigInt        
binary                                 Byte[]                       VarBinary 
bit                                    Boolean                      Bit       
char                                   String                       Char      
date 1                                 DateTime                     Date 1        
datetime                               DateTime                     DateTime      
datetime2                              DateTime                     DateTime2

至于属性的命名:EF 有一些(有时很烦人)命名约定。

更多信息在这里:https ://docs.microsoft.com/en-us/ef/ef6/modeling/code-first/conventions/built-in

在这里:Microsoft 的数据库命名约定?

特别注意:

“不要在存储过程前加上 sp_,因为这个前缀是为识别系统存储过程而保留的。”

https://blogs.msdn.microsoft.com/robcaron/2005/01/27/prefixing-stored-procedure-names-with-sp_/


推荐阅读