与linqpad的工作方式类似,当您只是添加数据库连接时,您会自动获得要使用的上下文。
我确实喜欢0工作来获得这个背景。 我如何在我的代码中做类似的事情?
假设我的一个项目我只想加载一个数据库
var dataContext = new DataContext(myConnection);
//linqpad has like a typed context, which i'd like
var customer = dataContext.Customers.Where(x => x.Id == 4);
无需已创建和映射Customer类。
linqpad如何做到这一点?
我猜它是某种派生数据上下文,但是它如何处理所有具有正确属性的模型的创建呢?
任何指针都很棒
答案 0 :(得分:1)
LINQPad“欺骗”并使用Reflection.Emit在幕后构建一个类型化的数据上下文。它看起来好像是动态的东西,但实际上,在Visual Studio中添加“LINQ to SQL Classes”项目(或者像Stephen建议的那样使用SqlMetal)并没有什么不同。