欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

EF中获取当前上下文的表名

程序员文章站 2022-04-18 11:28:32
EF在处理并发上并不是很好,很多时候我们需要手动写sql操作数据库。但是在基类中我们如何获取当前服务上下问操作的表呢? 使用正则是其中一种解决办法 其中sql= SELECT "Extent1"."uuid", "Extent1"."imageid", "Extent1"."description" ......

ef在处理并发上并不是很好,很多时候我们需要手动写sql操作数据库。但是在基类中我们如何获取当前服务上下问操作的表呢?

使用正则是其中一种解决办法

var sql= repository.table.tostring();
var regex = new regex("from (?<table>.*) as");
var match = regex.match(sql);
string table = match.groups["table"].value;

其中sql=

select "extent1"."uuid", "extent1"."imageid", "extent1"."description", "extent1"."order", "extent1"."tags", "extent1"."isdefault", "extent1"."billid", "extent1"."filename",
"extent1"."fileext", "extent1"."filesize", "extent1"."storepath", "extent1"."storename", "extent1"."createby", "extent1"."createon", "extent1"."updateby", "extent1"."updateon"
from "dbo"."plm_commissionerinfoimage" as "extent1"