EF在處理併發上並非很好,不少時候咱們須要手動寫sql操做數據庫。可是在基類中咱們如何獲取當前服務倉儲操做的表呢?sql
使用正則是其中一種解決辦法數據庫
Repository.Table是一條查詢語句,經過toString獲取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"ui