我是EntityFramework的新手,想知道是否可以编写一个Select语句适用于不同的表。如下。
public IList<ent_customer> getCustomer()
{
return db.Customers.Select(a=>new ent_Customers{
first_name=a.first_name,
last_name=a.last_Name
}).ToList();
}
public IList<ent_vendors> getVendors()
{
return db.Vendors.Select(a=>new ent_vendors{
first_name=a.first_name,
last_name=a.last_Name,
mobile=a.mobile,
email=a.email
}).ToList();
}
在我为所有表使用一个Select,Insert,Update,Delete函数之前,避免在正常的3层项目中重写相同的代码。
我尝试了很多和谷歌,遗憾的是没有找到任何建议
以前一般3tier One SQLEngine类维护SQL查询并动态生成选择,删除,编辑等。 如果我有一个类dal_Product,我需要获得产品列表然后只有我正在调用
objProduct.Select();// All Productions
objCustomer.Select();//All Customer No need to write two different queries
obj
on above examle .. SQLEngine were automatically generate two queries
1- "select *from Product"
2- "Select *from Customer"
So I was avoiding rewriting for similar queries and functions.
Hop知道你们了解我想要基于条件的SQLEngine类型的中央查询生成器。
谢谢并提前
答案 0 :(得分:0)
要解决您的问题,您可以使用Generic Repository (pattern)
这将照顾CRUD
行动。
请注意,有些人说拥有通用存储库模式是bad practice,因为它不是它们的意图。
答案 1 :(得分:0)
不确定你的意思是什么&#34;适用于不同的桌子&#34;,但是让我建议:
1.使用Repository Pattern作为@Jordy van Eijk建议
2.如果您需要处理不同但相关的表Link