动态生成 EntityConnection

/// <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 动态生成

  1. 已經存在的SqlConnection
  2. SqlConnection sc;  
  3. 建立WorkSpace
  4. MetadataWorkspace workspace = new MetadataWorkspace();  
  5. EdmItemCollection edmCollection = new EdmItemCollection("res://*/TestModel.csdl");  
  6. workspace.RegisterItemCollection(edmCollection);  
  7. StoreItemCollection storeCollection = new StoreItemCollection("res://*/TestModel.ssdl");  
  8. workspace.RegisterItemCollection(storeCollection);  
  9. StorageMappingItemCollection storageMappingItemCollection = new StorageMappingItemCollection(edmCollection, storeCollection, "res://*/TestModel.msl");  
  10. workspace.RegisterItemCollection(storageMappingItemCollection);  
  11. 利用剛剛建立的WorkSpace搭配SqlConnection來建立EntityConnection物件
  12. using (TestEntities te = new TestEntities(new EntityConnection(workspace, sc)))  
  13. {  
  14.     var users = te.user.Execute(System.Data.Objects.MergeOption.NoTracking).Select(a => a).ToList();  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值