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

Posted cyril-hcj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EF中获取当前上下文的表名相关的知识,希望对你有一定的参考价值。

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"

以上是关于EF中获取当前上下文的表名的主要内容,如果未能解决你的问题,请参考以下文章

如何取得和EF core mapped entity的表名

EF 中获取 TableAttribute的值,即数据库中真实的表名

EF执行SQL语句

如何取得和EF core mapped entity的表名

如何在mysql中实现将当前的时间作为建表时的表名

如何获取数据库中表名、字段名、字段属性信息?