Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách đặt Chuỗi kết nối với Khung thực thể

bạn nên sử dụng EntityConnectionFactory
Đây là những gì bạn cần.

public string CreateConnectionString(string BasicConnectionString)
{
    //EntityConnectionFactory 
    var entityConnectionStringBuilder= new EntityConnectionStringBuilder();
    entityConnectionStringBuilder.Provider = "Your Provicer here"      //For me it is "System.Data.SqlClient";
    entityConnectionStringBuilder.ProviderConnectionString = BasicConnectionString;
    entityConnectionStringBuilder.Metadata = "res://*";
    return entityConnectionStringBuilder.ToString();
}

Đây là cách sử dụng mẫu

MyContext ctx = new MyContext(CreateConnectionString())

::Cập nhật ::

Khi bạn đang sử dụng phương pháp DB đầu tiên, hãy xem hình ảnh sau đây

khi có hai nút radio này, hãy chọn nút đầu tiên. Sau đó, bạn sẽ có thể đặt chuỗi kết nối cho mô hình của mình.

Đây là bối cảnh của tôi trông như thế nào (Mặc dù đó là ngữ cảnh đối tượng. Nhưng không quan trọng trong ngữ cảnh của câu hỏi này)

public partial class DataContext : ObjectContext
    {
        #region Constructors

        /// <summary>
        /// Initializes a new DataContext object using the connection string found in the 'DataContext' section of the application configuration file.
        /// </summary>
        public DataContext() : base("name=DataContext", "DataContext")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }

        /// <summary>
        /// Initialize a new DataContext object.
        /// </summary>
        public DataContext(string connectionString) : base(connectionString, "DataContext")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }

        /// <summary>
        /// Initialize a new DataContext object.
        /// </summary>
        public DataContext(EntityConnection connection) : base(connection, "DataContext")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }

        #endregion

        #region Partial Methods

        partial void OnContextCreated();

        #endregion
    ...
    }

Cập nhật

Thêm phương thức khởi tạo mà bạn đang tìm kiếm trong một lớp một phần bên ngoài lớp thực thể được tạo tự động:

public partial class WMSChennaiDEVEntities : DbContext
{
    public WMSChennaiDEVEntities(string connectionstring)
            : base(connectionstring)
    {
    }
}

Hàm tạo này dường như không được bao gồm trong EF 5/6 để ngăn chúng tôi vô tình truyền một chuỗi kết nối sql khi một chuỗi kết nối thực thể được mong muốn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng chỉ mục tìm kiếm Solr làm cơ sở dữ liệu - điều này có sai không?

  2. php echo hàng đầu tiên đợi / ngủ sau đó echo hàng thứ hai

  3. JDBC luôn kiểm tra hàng cuối cùng của bảng MySQL?

  4. mysql thay thế các ký tự đặc biệt html bằng các ký tự tương đương UTF

  5. Chèn mysqli - nhưng chỉ khi không phải là bản sao