我正在使用数据库第一种方法。 EDMX文件为我生成了默认的Dbset(TableName)。
myDbContext.Table1.ToList();
myDbContext.Table2.ToList();
我们可以有一个ModelView类,可以用一行拉出两个表吗? 而不是
Table1=myDbContext.Table1.ToList();
Table2=myDbContext.Table2.ToList();
我们可以喜欢
吗?ModelView=myDbContext.ModelView;
更新
public partial class ProductTb
{
public string ProductID { get; set; }
public string ProductArticleNumber { get; set; }
public string ProductName { get; set; }
}
public partial class ProductTbTWO
{
public string ProductID { get; set; }
public string ProductArticleNumber { get; set; }
public string ProductName { get; set; }
}
public class ProductModelView
{
public ProductTb{get;set;}
public ProductTbTWO{get;set}
}
答案 0 :(得分:1)
创建DbContext的部分类并添加自定义代码。
.pops{
display:none;
height: 100%;
width: 100%;
background: #fff;
position:absolute;
z-index:1;
top:0;
}
并使用public partial class MyDbContext
{
private MyDbContext(string contextName) : base(contextName) { }
public static MyDbContextCreate() {
return new MyDbContext(ContextName);
}
public ProductModelView ModelView {// Get ProductTb and ProductTbTWO}
}
和var myDbContext= MyDbContext.Create()
但我不建议做类似的事情,使用公共方法添加服务类来获取代码,数据层不应该处理视图模型
答案 1 :(得分:0)
我更喜欢使用静态类:
public static class Utilities
{
public static ProductModelView getProductViewModel()
{
using (var db = new myDbContext()
{
var vm = new ProductModelView();
vm.ProductTb = db.ProductTb.ToList();
vm.ProductTbTWO = db.ProductTbTWO.ToList();
return vm;
}
}
}
你可以这样称呼它:
var vm = Utilities.getProductViewModel();