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"

原文地址:https://www.cnblogs.com/Cyril-hcj/p/11725520.html

时间: 2024-10-31 06:33:13

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

Mybatis中如何在SQL语句表名中使用参数

insert into prefix_${table_name} (a, b, c) values (#{a}, #{b}, #{c}) ${} 表示直接使用字面量(literal value) #{} 表示这个是个参数 如果 table_name 是 "ABC" 则 ${table_name} 是 ABC #{table_name} 是 "ABC" Mybatis中如何在SQL语句表名中使用参数,布布扣,bubuko.com

在cmd中获取ip地址和主机名

将下面的文件放到一个bat文件当中,以管理员身份运行. @echo off &setlocal enabledelayedexpansion Rem '/*========获取本机的IP地址(局域网)=========*/ echo "please wait" for /f "tokens=2 delims=:" %%b in ('ipconfig^|find /i "ip"') do set fsip=%%b echo %fsip% s

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

比如EF中我定义了这样一个实体: [csharp] view plain copy print? [Table(Name = "MyTableName")] public class MyClass { } [Table(Name = "MyTableName")] public class MyClass { } 现我想获取 MyTableName,可以这样来办: [csharp] view plain copy print? using System.Data.

设置Linux中的Mysql不区分表名大小写

1. MySQL数据库的表名在Linux系统下是严格区分大小写的,在Windows系统下开发的程序移植到Linux系统下,如果程序中SQL语句没有严格按照大小写访问数据库表,就可能会出现找不到表的错误. 2. 解决办法是:修改MySQL的配置文件my.cnf,在[mysqld]部分添加如下配置选项lower_case_table_names = 1,重启MySQL服务即可. 3. 但这个办法治标不治本,根本的解决办法是遵从跨平台开发的好的实践,例如SQL语句中的库名.表名.字段名等等要严格区分大

hive从查询中获取数据插入到表或动态分区

(前人写的不错,很实用,负责任转发)转自:http://www.crazyant.net/1197.html Hive的insert语句能够从查询语句中获取数据,并同时将数据Load到目标表中.现在假定有一个已有数据的表staged_employees(雇员信息全量表),所属国家cnty和所属州st是该表的两个属性,我们做个试验将该表中的数据查询出来插入到另一个表employees中. 1 2 3 4 INSERT OVERWRITE TABLE employees PARTITION (cou

MVC 在action方法中获取当前action的控制器名和action名

如何在某个action方法中获取它所在的控制器和action名称呢. string controllerName = Request.RequestContext.RouteData.Values["controller"].ToString();//获取控制器名 string actionName = Request.RequestContext.RouteData.Values["action"].ToString();//获取action名

java中获取各种上下文路径的方法小结

一.获得都是当前运行文件在服务器上的绝对路径在servlet里用:this.getServletContext().getRealPath(); 在struts用:this.getServlet().getServletContext().getRealPath(); 在Action里用:ServletActionContext.getRequest().getRealPath(); 以上三个获得都是当前运行文件在服务器上的绝对路径其实:request.getRealPath("url"

在web项目中获取ApplicationContext上下文的3种主要方式及适用情况

最近在做web项目,需要写一些工具方法,涉及到通过Java代码来获取spring中配置的bean,并对该bean进行操作的情形.而最关键的一步就是获取ApplicationContext,过程中纠结和错误了很久,总结一下获取ApplicationContext的三种方式: 方式一:实现ApplicationContextAware接口 对于实现ApplicationContextAware接口的类,spring容器在初始化的时候会扫描他,并把容器的context环境注入给它.如下: 1 publ

在Windows 操作系统中, MySql 如何设置, 允许表名支持大小写

一般在网上会说明 修改my.ini文件的  lower_case_table_names = 0 参照: http://www.linuxidc.com/Linux/2013-04/82719.htm. 但是在软件的安装目录下找不到该文件.  安装目录一般为 C:\Program Files\MySQL 必须在数据库的目录中找: C:\ProgramData\MySQL\MySQL Server 5.6 在文件中找到 [mysqld]的下面, 看有没有 [mysqld] lower_case_t