Jer*_*ter 3 c# entity-framework entity-framework-4.1
我使用EF 4.1 Power Toys生成了一堆类来对我的数据库进行逆向工程.我的类和地图看起来很好并且运行良好,但是当我检查返回的类型的名称时,似乎EF已经为类型名称添加了GUID.这是一个用于身体的方法:
var context = new DbContext();
var myVehicle = context.Vehicles.First();
return myVehicle.GetType().Name;
Run Code Online (Sandbox Code Playgroud)
......会返回类似的东西:
"Vehicle_F31E8AC6EB21A3220F761E7C2FFEB3B433CEFC7CF567E9A0CF53E8F4B598C2B9"
Run Code Online (Sandbox Code Playgroud)
为什么会这样,有什么办法可以关掉它?
它被称为动态代理.当您第一次从实体框架查询类型时,它将动态创建从您的实体类型派生的类并返回它.您看到的名称是该派生类的名称.
实体框架之所以这样做,是为了支持一些高级功能,如延迟加载或动态更改跟踪.它可以通过调用关闭:
context.Configuration.ProxyCreationEnabled = false;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
247 次 |
| 最近记录: |