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

  • 相关阅读:
    postgresql允许远程访问的配置修改
    Oracle常用监控sql语句
    Python Twisted 学习系列22(转载stulife最棒的Twisted入门教程)
    Python Twisted 学习系列21(转载stulife最棒的Twisted入门教程)
    有趣的题目
    入学测试题详解
    完成这个例子,说出java中针对异常的处理机制。
    遍历Map key-value的两种方法
    java中的 FileWriter类 和 FileReader类
    Java中Split函数的用法技巧
  • 原文地址:https://www.cnblogs.com/micro-chen/p/8954193.html
Copyright © 2011-2022 走看看