重用存储过程的连接字符串

时间:2018-03-25 12:27:54

标签: c# sql-server entity-framework stored-procedures dapper

我使用带有连接字符串的EF代码,如web.config中所示(为清晰起见,空格和换行符):

connectionString=
metadata=res://*/Models.XXXDataContext.csdl|
         res://*/Models.XXXDataContext.ssdl|
         res://*/Models.XXXDataContext.msl;

provider=System.Data.SqlClient;

provider connection string="data source=xxxxxxxxxx.database.windows.net,1433;
                           initial catalog=db1;
                           user id=dba;
                           password=its-a-secret(bazinga!);
                           MultipleActiveResultSets=True;
                           App=EntityFramework"

我想使用相同的连接字符串来执行存储过程以对另一个表执行merge insert/update

我可以按原样使用连接字符串来创建sqlConnection(cnns-tring)吗?

此处metadata=res: ...条目的目的是什么?还MultipleActiveResultSets=TrueApp=EntityFramework?他们会在这里产生什么影响吗?

1 个答案:

答案 0 :(得分:0)

元数据属性专门指向.SSDL(存储模型).CSDL(概念模型)和.MSL(映射模型)文件的位置。这三个文件基本上是实体数据模型。 “res://”URI样式限定符表示文件作为资源嵌入到已编译的EDM程序集中。

MultipleActiveResultSets - 多个活动结果集(MARS)是一种与SQL Server一起使用的功能,允许在单个连接上执行多个批处理。启用MARS以与SQL Server一起使用时,使用的每个命令对象都会向连接添加会话。

App = EntityFramework :它只是应用程序名称的同义词。 所有的connectionstring关键字都在这里解释:https://msdn.microsoft.com/en-gb/library/system.data.sqlclient.sqlconnection.connectionstring.aspx