- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题在这里已经有了答案:
Workaround for LINQ to SQL Entity Identity Caching and Compiled Query Bug?
(2 个回答)
去年关闭。
编译查询:
public static class Machines
{
public static readonly Func<OperationalDataContext, short, Machine>
QueryMachineById =
CompiledQuery.Compile((OperationalDataContext db, short machineID) =>
db.Machines.Where(m => m.MachineID == machineID).SingleOrDefault()
);
public static Machine GetMachineById(IUnitOfWork unitOfWork, short id)
{
Machine machine;
// Old code (working)
//var machineRepository = unitOfWork.GetRepository<Machine>();
//machine = machineRepository.Find(m => m.MachineID == id).SingleOrDefault();
// New code (making problems)
machine = QueryMachineById(unitOfWork.DataContext, id);
return machine;
}
[TestMethod]
public void GetMachinesTest()
{
using (var unitOfWork = IoC.Get<IUnitOfWork>())
{
// Compile Query
var machine = Machines.GetMachineById(unitOfWork, 3);
// In this unit of work everything works…
// Machine from repository (table) is equal to Machine from compile query.
}
using (var unitOfWork = IoC.Get<IUnitOfWork>())
{
var machineRepository = unitOfWork.GetRepository<Machine>();
// Get From Repository
var machineFromRepository = machineRepository.Find(m => m.MachineID == 2).SingleOrDefault();
// Get From COmpiled Query
var machine = Machines.GetMachineById(unitOfWork, 2);
VerifyMachine(machineFromRepository, 2, "Machine 2", "222222", ...);
VerifyMachine(machine, 2, "Machine 2", "222222", ...);
Assert.AreSame(machineFromRepository, machine); // FAIL
}
}
最佳答案
您可以尝试将上下文的 ObjectTrackingEnabled 设置为 false。这在同样的情况下帮助了我,但我后来在更新和插入记录时打开了它。
DBDataContext.ObjectTrackingEnabled = false; // Read Only
关于Linq-to-sql 编译查询返回不属于提交的 DataContext 的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2472775/
我正在运行一个带有 while 约束的 SQL 查询,其中包含一些“id”。例如: SELECT table.id FROM TableOne table WHERE table.id IN (1,
假设我有以下类型声明: declare type Point2D = { x: number, y: number } 我从服务器获取一些数据并得到以下信息: const response = { x
根据 Angular 文档,Angular 的指令有 3 种类型: 组件 结构化 属性 根据以下官方链接:https://angular.io/guide/attribute-directives#d
在我正在处理的 Spring Boot 应用程序中,我有一个未注释为 bean (@Component) 的类,但包含一个 Autowiring 字段: public class One{ @
我有一个问题,我正在学习 swift 编程,我已经学会了毫无问题地处理表格和集合,包括使用 alamofire 的 cosumo 服务,但我遇到了一个问题,我在个性化表格 View 中有一个集合单元格
我已经在我们办公场所的实时服务器上配置了 TFS。 现在,我们可以访问它,即 windows 域 用户/事件目录 用户但是当我把我的用户名密码 给别人时我们的办公场所,并要求他通过 Web 链接从 v
我的 .plist 的 UIStatusBarHidden 是 false,所以我的应用程序不显示 iOS 状态栏。 连接到自定义 UIView 顶部的 UI 元素在 iPhone 6/7/8 设备上
执行某些 SP 时开始出现以下错误。与此错误相关的代码非常简单,将#temp 表连接到真实表 错误全文: Msg 605, Level 21, State 3, Procedure spSSRSRPT
我有一段代码调用 LogonUser(),然后调用 CreateProcessAsUser()。在 Win32 中,生成的进程属于属于 LOCAL 组的用户(例如,TESTDOMAIN\user1)。
Xcode 6.1 在组件安装完成后出现错误。 Xcode 安装程序是从其他 mac 复制的。请帮助我如何解决 dyld_sim 错误....谢谢 /Applications/Xcode.app/Co
我是一名优秀的程序员,十分优秀!