C# 使用两个不同的控制器连接两个模型
我有model1=位置,model2=用户,model3=索引列表 模型1:int-ID,int-Name\u-pos 模型2:当前位置=模型1.ID 我想在model3 IndexList视图中显示这些值。不应显示用户的posiion ID,但应显示相应的字符串名称 但是,仅显示种子初始值(我在配置文件中创建的)。新创建的条目不显示 所以为了连接两个模型,我使用C# 使用两个不同的控制器连接两个模型,c#,model-view-controller,entity-framework-4,C#,Model View Controller,Entity Framework 4,我有model1=位置,model2=用户,model3=索引列表 模型1:int-ID,int-Name\u-pos 模型2:当前位置=模型1.ID 我想在model3 IndexList视图中显示这些值。不应显示用户的posiion ID,但应显示相应的字符串名称 但是,仅显示种子初始值(我在配置文件中创建的)。新创建的条目不显示 所以为了连接两个模型,我使用 public ActionResult Index(int? page) { UserDBCon
public ActionResult Index(int? page)
{
UserDBContext db = new UserDBContext();
// var v = (from m in db.Users join r in db.DBPositions on m.current_position equals r.ID select new IndexListing() { position_name = r.Name_pos }).ToList();
IEnumerable<IndexListing> v = from m in db.Users.AsEnumerable()
join r in db.DBPositions.AsEnumerable()
select new IndexListing { position_name = r.Name_pos, user_name = m.UserName_ID, };//).ToList();
//GET ALL DETAILS OF LISTING INDEX
int pageSize = 10;
int pageNumber = (page ?? 1);
return View(v.OrderBy(i => i.user_name).ToPagedList(pageNumber, pageSize));
}
public ActionResult索引(int?页)
{
UserDBContext db=newuserdbcontext();
//var v=(从db中的m开始。用户在m上的db.DBPositions中加入r.current_position等于r.ID选择新索引列表(){position_name=r.name_pos});
IEnumerable v=来自m,单位为db.Users.AsEnumerable()
在db.DBPositions.AsEnumerable()中加入r
选择新索引列表{position\u name=r.name\u pos,user\u name=m.UserName\u ID,};/).ToList();
//获取列表索引的所有详细信息
int pageSize=10;
整数页码=(第1页);
返回视图(v.OrderBy(i=>i.user_name).ToPagedList(pageNumber,pageSize));
}
我使用数据库更新在表(modle)User和(model)Position中植入了一些值。
但是,在添加新用户实例时,列表索引不包括新添加的用户。仅显示配置文件中的种子数据。
我的数据库上下文有缺陷吗
public class UserDBContext : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Position> DBPositions { get; set; }
}
公共类UserDBContext:DbContext
{
公共数据库集用户{get;set;}
公共DbSet DBPositions{get;set;}
}
我真的不知道你在问什么。第二个控制器在哪里?您得到的输出与您期望的输出是什么?你是如何更新数据库的?你是如何获得“上市指数详情”的?编辑了我的问题。希望它更清楚明白。