我需要使用petapoco MVC4加入2桌 我的表格如下所示
[TableName("District")]
[PrimaryKey("nDistrictID")]
public class District
{
public int nDistrictID { get; set; }
public string cDistrictName { get; set; }
public bool bActive { get; set; }
public int nStateID { get; set; }
}
状态表
[PetaPoco.TableName("States")]
[PetaPoco.PrimaryKey("nStateID")]
public class States
{
public int nStateID { get; set; }
public string cStateName { get; set; }
}
我需要这种形式的查询
select d.cDistrictName,s.cStateName, d.nStateID from District
d inner join States s on d.nStateID=s.nStateID
答案 0 :(得分:1)
我假设您已经有一个dataContext,其中包含每个类的2个DbSet。关于你可以使用: 关于您期望的结果,您可以创建一个与结果匹配的新类:
public class DistrictWithState
{
public string cDistrictName {get;set;}
public string cStateName {get; set;}
public int nStateId {get;set;}
}
然后在你的行动中:
var dataContext = new PetaPoco.Database("mysql");
var sql="select d.cDistrictName,s.cStateName, d.nStateID from District
d inner join States s on d.nStateID=s.nStateID";
var districts = db.Fetch<DistrictWithState>(sql);
return view(districts);
使用dynamic
关键字还有另一种解决方案。但是从上面的解决方案开始吧。它应该工作。我希望它会有所帮助