zoukankan      html  css  js  c++  java
  • 使用代码的方式给EntityFramework edmx 创建连接字符串

    在构建上下文的时候动态生成连接字符串:

     

     /// <summary>
            /// 从配置生成连接
            /// </summary>
            private static readonly string _connStr = GetConnStringFromAppSetting();
    
            public context()
                : base(_connStr)//"name=context"
            {
             
            }
        
            protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
                throw new UnintentionalCodeFirstException();
            }
    
            private static string GetConnStringFromAppSetting()
            {
                // Specify the provider name, server and database.
                string providerName ="System.Data.SqlClient"; 
                string providerString = global::System.Configuration.ConfigurationManager.AppSettings["SQLConnectionString"];//sqlBuilder.ToString();
    
                // Initialize the EntityConnectionStringBuilder.
                EntityConnectionStringBuilder entityBuilder =
                    new EntityConnectionStringBuilder();
    
                //Set the provider name.
                entityBuilder.Provider = providerName;
    
                // Set the provider-specific connection string.
                entityBuilder.ProviderConnectionString = providerString;
    
                // Set the Metadata location.
                entityBuilder.Metadata = @"res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl";
    
                var connString= entityBuilder.ToString();
                return connString;
            }

     

    How to: Build an EntityConnection Connection String

    This topic provides an example of how to build an EntityConnection.

    To run the code in this example

    1. Add the AdventureWorks Sales Model to your project and configure your project to use the Entity Framework. For more information, see How to: Use the Entity Data Model Wizard.

    2. In the code page for your application, add the following using statements (Imports in Visual Basic):

      C#
      using System;
      using System.Collections.Generic;
      using System.Collections;
      using System.Data.Common;
      using System.Data;
      using System.IO;
      using System.Data.SqlClient;
      using System.Data.EntityClient;
      using System.Data.Metadata.Edm;
      

    Example

    The following example initializes the System.Data.SqlClient.SqlConnectionStringBuilder for the underlying provider, then initializes the System.Data.EntityClient.EntityConnectionStringBuilderobject and passes this object to the constructor of the EntityConnection.

    C#
    
    // Specify the provider name, server and database.
    string providerName = "System.Data.SqlClient";
    string serverName = ".";
    string databaseName = "AdventureWorks";
    
    // Initialize the connection string builder for the
    // underlying provider.
    SqlConnectionStringBuilder sqlBuilder =
        new SqlConnectionStringBuilder();
    
    // Set the properties for the data source.
    sqlBuilder.DataSource = serverName;
    sqlBuilder.InitialCatalog = databaseName;
    sqlBuilder.IntegratedSecurity = true;
    
    // Build the SqlConnection connection string.
    string providerString = sqlBuilder.ToString();
    
    // Initialize the EntityConnectionStringBuilder.
    EntityConnectionStringBuilder entityBuilder =
        new EntityConnectionStringBuilder();
    
    //Set the provider name.
    entityBuilder.Provider = providerName;
    
    // Set the provider-specific connection string.
    entityBuilder.ProviderConnectionString = providerString;
    
    // Set the Metadata location.
    entityBuilder.Metadata = @"res://*/AdventureWorksModel.csdl|
                                res://*/AdventureWorksModel.ssdl|
                                res://*/AdventureWorksModel.msl";
    Console.WriteLine(entityBuilder.ToString());
    
    using (EntityConnection conn =
        new EntityConnection(entityBuilder.ToString()))
    {
        conn.Open();
        Console.WriteLine("Just testing the connection.");
        conn.Close();
    }
    

    See Also

    How to: Use EntityConnection with an Object Context
    EntityClient Provider for the Entity Framework

    Note

  • 相关阅读:
    C#:将子Form加入父Form中
    C#:简单线程样例
    C#:实现接口中定义的事件
    easyui设置界面的高度自适应
    JQuery
    vim常用命令(iOS)
    Linux的IO性能监控工具iostat详解
    php多线程抓取信息测试例子
    使用Gitosis搭建Git服务器
    CentOS 6.4 搭建git 服务器
  • 原文地址:https://www.cnblogs.com/micro-chen/p/8954193.html
Copyright © 2011-2022 走看看