如何将“数据”与“数据”分开?从我的控制台应用程序?
我有两个项目:
- 控制台应用程序
- 类库
我希望 类库
定义类、创建 edmx 文件并拥有部分连接字符串,例如:
<add name="BlogEntities" connectionString="metadata=res://*/Blog.csdl|res://*/Blog.ssdl|res://*/Blog.msl;provider=System.Data.SqlClient;provider connection string='{0}'" providerName="System.Data.EntityClient" />
我希望我的类库定义 csdl
、ssdl
和 msl
文件。我的控制台应用程序不关心元数据,它只会定义数据库
、用户
和密码
。
如何将连接字符串分成两部分?
I have two projects:
- Console application
- Class Library
I want the Class library
to define the classes, create edmx files and to have a partial connection string, like:
<add name="BlogEntities" connectionString="metadata=res://*/Blog.csdl|res://*/Blog.ssdl|res://*/Blog.msl;provider=System.Data.SqlClient;provider connection string='{0}'" providerName="System.Data.EntityClient" />
I want my Class Library to define the csdl
, ssdl
and msl
files. My Console application doesn't care about the metadata, it will only define the database
, user
and password
.
How can I split the connection string in two like this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
根据我的记忆,如果您在类库中创建模型,VS 将在该库项目中创建一个 app.config 。
只需将此文件的内容合并到控制台库的 app.config 中即可。
在这种情况下,您可以在库的 app.config 文件中拥有“设计”配置,并在控制台应用程序的 app.config 中拥有运行时配置。
from my memory, if you create the model in a class lib, VS will create an app.config in the lib project.
Simply merge the content of this file in the app.config of the console library.
in this scenario, you can have a "design" config in the app.config file of the lib, and a run time config in the app.config of the console application.
在您的库中创建一个类(例如
Connector
),允许您提供所需的任何连接值(数据库、用户、密码)。然后在控制台应用程序中使用此类并提供您认为合适的必要值。Create a class in your library (e.g.
Connector
) that allows you to provide whatever connection values you will need (database, user, password). Then use this class in your console application and provide the necessary values however you see fit.我发现我可以用相同的名称命名所有实体,例如
Entities
。我的app.config
需要位于控制台应用程序上,但我可以使用单个ConnectionString
。元数据可以设置为
res://*/
并且它将在全球范围内工作。 来自 MSDN:我还可以强制任何可插入模块都使用在上下文构造函数上传递的
ConnectionString
:I found out that I can name all entities with the same name, e.g.
Entities
. Myapp.config
will need to be on the Console Application, but I can use a singleConnectionString
.The metadata can be set to
res://*/
and it will work globally. From MSDN:I can also force that any plug-able module will use a
ConnectionString
passing on the context constructor: