/// <summary>
/// 取得 EntityConnection
/// </summary>
/// <param name="connectionString">连接字符串</param>
/// <returns>EntityConnection</returns>
public static EntityConnection GetEntityConnection(string connectionString)
{
var ecsb = new EntityConnectionStringBuilder
{
Metadata =string.Format(@"res://*/{0}.csdl|res://*/{0}.ssdl|res://*/{0}.msl", "Models.Model"),
Provider = "System.Data.SqlClient",
ProviderConnectionString = connectionString
};
var ec = new EntityConnection(ecsb.ToString());
return ec;
}
另外一种从已經存在的SqlConnection 动态生成
- 已經存在的SqlConnection
- SqlConnection sc;
- 建立WorkSpace
- MetadataWorkspace workspace = new MetadataWorkspace();
- EdmItemCollection edmCollection = new EdmItemCollection("res://*/TestModel.csdl");
- workspace.RegisterItemCollection(edmCollection);
- StoreItemCollection storeCollection = new StoreItemCollection("res://*/TestModel.ssdl");
- workspace.RegisterItemCollection(storeCollection);
- StorageMappingItemCollection storageMappingItemCollection = new StorageMappingItemCollection(edmCollection, storeCollection, "res://*/TestModel.msl");
- workspace.RegisterItemCollection(storageMappingItemCollection);
- 利用剛剛建立的WorkSpace搭配SqlConnection來建立EntityConnection物件
- using (TestEntities te = new TestEntities(new EntityConnection(workspace, sc)))
- {
- var users = te.user.Execute(System.Data.Objects.MergeOption.NoTracking).Select(a => a).ToList();
- }