首页 / C# / c# – 实体框架中的“它”是什么
c# – 实体框架中的“它”是什么
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 实体框架中的“它”是什么,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1667字,纯文字阅读大概需要3分钟。
内容图文
![c# – 实体框架中的“它”是什么](/upload/InfoBanner/zyjiaocheng/808/9598f18a5a474532a15f84d85ed82230.jpg)
请原谅我,如果以前曾经问过,但我的任何搜索都没有出现“它”.我有两个数据库表Person和Employee建模一个Table-per-Type(例如Employee is-a Person).在我的edmx设计器中,我定义了一个单独的实体Employee,它将每个列映射到它们各自的基础表(例如Name – > Person,Salary – > Employee).
“它”允许我在LINQ表达式中执行这样的操作:
context.Employees.Where("it.Name LIKE 'M%' AND it.Salary > 1234")
是否有任何好的链接解释我如何期望“它”的行为?我认为它不是一般的LINQ事物,它对Entity Framework有点具体.
编辑0:生成的ObjectContext的C#代码如下:
public partial class TestObjectContext : ObjectContext
{
// lots of boilerplate removed for clarity
public ObjectSet<Employee> Employees
{
get
{
if ((_Employees == null))
{
_Employees = base.CreateObjectSet<Employee>("Employees");
}
return _Employees;
}
}
}
解决方法:
它是当前ObjectQuery命令的默认别名.有关Query Builder方法,请参阅documentation,尤其是Alias部分:
按顺序应用查询构建器方法以构造累积查询命令.这意味着当前的ObjectQuery命令被视为应用当前方法的子查询.
在查询构建器方法中,使用别名引用当前的ObjectQuery命令.默认情况下,字符串“it”是表示当前命令的别名,如下例所示:
int cost = 10;
// Return Product objects with a standard cost
// above 10 dollars.
ObjectQuery<Product> productQuery =
context.Products
.Where("it.StandardCost > @cost", new ObjectParameter("cost", cost));
设置ObjectQuery的Name属性时,该值将成为后续方法中的别名.下面的示例通过将ObjectQuery的名称设置为“product”然后在随后的OrderBy方法中使用此别名来扩展前一个示例:
// Set the Name property for the query and then
// use that name as the alias in the subsequent
// OrderBy method.
productQuery.Name = "product";
ObjectQuery<Product> filteredProduct = productQuery.OrderBy("product.ProductID");
内容总结
以上是互联网集市为您收集整理的c# – 实体框架中的“它”是什么全部内容,希望文章能够帮你解决c# – 实体框架中的“它”是什么所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。