FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 2741|回复: 1
打印 上一主题 下一主题

请教关于对Attach重写的问题

[复制链接]
跳转到指定楼层
楼主
发表于 2017-2-24 13:34:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wck173168 于 2017-2-24 13:38 编辑

最近在学习文章AppBox升级进行时 - Attach陷阱(Entity Framework) 中学习了以下写法
  1.         
  2.         
  3.         protected T Attach<T>(int keyID) where T : class, IKeyID, new()
  4.         {
  5.             T t = DB.Set<T>().Local.Where(x => x.ID == keyID).FirstOrDefault();
  6.             if (t == null)
  7.             {
  8.                 t = new T { ID = keyID };
  9.                 DB.Set<T>().Attach(t);
  10.             }
  11.             return t;
  12.         }
复制代码


其中DB的定义为
public static AppBoxContext DB...
如果我还链接了别的数据库定义了别的DbContext  
例如
public static OtherContext OtherDB...
要调用Attach,我是这么写的
  1.         
  2.         
  3.         protected T Attach<T>(int keyID) where T : class, IKeyID, new()
  4.         {
  5.             T t = OtherDB.Set<T>().Local.Where(x => x.ID == keyID).FirstOrDefault();
  6.             if (t == null)
  7.             {
  8.                 t = new T { ID = keyID };
  9.                 OtherDB.Set<T>().Attach(t);
  10.             }
  11.             return t;
  12.         }
复制代码



请问
能否有封装的写法,让我调用Attach<T>(int keyID)的时候 能够选定数据库实体DbContext?
谢谢各位大神!



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-13 06:22 , Processed in 0.043446 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表