❶ 如何查看ef6生成的sql语句
可以使用ToTraceString()方法得到EF查询所生成的SQL。
using(varcontext=newTestDBEntities())
{
varquery=frompincontext.Parents
wherep.Name=="Ling"
selectp;
ObjectQuery<Parent>parents=queryasObjectQuery<Parent>;
if(parents!=null)
{
stringsql=parents.ToTraceString();
}
}
这里所生成的SQL为:
SELECT[Extent1].[ParentID]AS[ParentID],
[Extent1].[Name]AS[Name]
FROM[dbo].[Parent]AS[Extent1]
WHEREN'Ling'=[Extent1].[Name]
❷ 如何强制EF生成SQL Server 2008支持的SQL语句
找到安装的 Data 文件夹,如果需要保存这些数据,则重命名该文件夹。
否则,请删除 Data 文件夹。Microsoft 建议保留Data 文件夹,这就相当于保留了 MDF 和 LDF 格式的数据库平面文件备份。
如果重命名 Data 文件夹,只要您在重新安装时使用相同的名称、路径和 IP 地址,就可以将现有数据恢复到与使 SQL Server 脱机时完全相同的状态和条件。
❸ 如何设置EF生成sql不带dbo
不同的数据库,应该要重新生成EF。不能联接sqlserver生成EF,然后使用oracle或是mysql。
❹ c# sql语句怎么用ef的语句写
using (MyObjectContext db = new MyObjectContext() ){ string sql = “ select columnA, columnB from TableA where 1 = 1 ”; db.ExecuteStoreQuery<TableAObject>(sql).ToList();//TableAObject就是你定义的对象,对象属性就是columnA, columnB}
❺ 如何优化EF才能产生性能更好的sql语句
在mysql admin里面建表的时候把字段设 为自动增长就可以了,自动增长的字段在插入的时候不需要编号,会自动往下排。
用了自动增长,插入的时候就不要加UID了,跟SQL 里面的是否标识的自动增长一样!
❻ 如何设置EF生成sql不带dbo-CSDN论坛
这个是数据库的owner(SQL Server)/scheme(Oracle)。
原则上,开发阶段的这个属性和部署阶段应该是一致的,但确实有不一致的情况,这时候,需要动态修改这个参数。
有一个开源的解决方案,针对的是EF4,你可以参考一下,关键字:BrandonHaynes.ModelAdapter.EntityFramework
提供的重载可以在new一个ObjectContext的时候指定scheme。
另外,有必要手工修改一下生成的edmx文件里,特别是View中的SQL语句,把原始的scheme给去掉。xml标签里的scheme可以保留。
❼ EF怎么使用SQL语句查询到结果然后映射到自定义实体去
给你举个例子:
staticvoidMain(string[]args)
{
using(MyDBEntitiesen=newMyDBEntities())
{
varp1=en.People.First(x=>
x.Name=="Jim");
Console.WriteLine(p1.Age);
varp2=en.Database.SqlQuery<Person>(
@"selecttop1*fromperson
wherename='Jim'")
.First();
Console.WriteLine(p2.Age);
//p1p2是同一个记录
}
Console.ReadLine();
}
❽ 如何查看EF 生成的sql语句
添加 引用:
using System.Data.Objects;
var results = db.tb_proct.Where(s => s.ID == 2160);
var sql = (results as ObjectQuery<tb_proct>).ToTraceString();
在EF4.1中,可以直接 使用 ToString()
using (var context = new MyDbContext())
{
var people = from p in context.People
where p.PersonID > 100
select p;
string sql = people.ToString();
}
❾ 如何得到EF查询生成的SQL
NorthwindEntities en = new NorthwindEntities();
var q = en.Employees;
//关键是如下语句
var objectQuery = q as System.Data.Objects.ObjectQuery;
string sql = objectQuery.ToTraceString();
MessageBox.Show(sql);
❿ c#用 ef怎么执行sql语句
EF
model
first方式,
你的DB是继承ObjectContext
using (MyObjectContext db = new MyObjectContext() )
{
string sql = “ select columnA, columnB from TableA where 1 = 1 ”;
db.ExecuteStoreQuery
(sql).ToList();//TableAObject就是你定义的对象,对象属性就是columnA, columnB
} code
first,
你的db是继承DbContext
using (MyDbContext db = new MyDbContext() )
{
string sql = “ select columnA, columnB from TableA where 1 = 1 ”;
db.TableAObject.SqlQuery(sql).ToList();//TableAObject就是在MyDbContext 定义的对象
}
这里只是列举查询的方式,仅供参考,一般新增
删除
或者修改
用对象的方式比较多,如果是sql,一般是
db.Database.ExecuteSqlCommand(sqlString)