我正在开发一个允许用户发布帖子的网站。
我有3张桌子:
当我保存Post时,系统会插入一个新帖子,在PostService和Post之间建立关系(通过PostId),但是,它应该将CityId设置为PostService,而是创建一个新的City,与PostService建立关系。
在这里,我们将所选城市设置为PostService:
orcamento.Cidades = db.Cidades.Where(c => c.CidNome.Trim().ToLower() == orcamento.Cidades.CidNome.Trim().ToLower()).FirstOrDefault();
在这里,我们坚持使用帖子:
Post post = new Post();
post.PosData = DateTime.Now;
post.Usuarios = db.Usuarios.Where(u => u.UsuEmail == User.Identity.Name).FirstOrDefault();
post.PostOrcamentoServico.Add(orcamento);
db.Post.Add(post);
db.SaveChanges();
为什么要创建新城市而不是将CityID设置为PostService?
答案 0 :(得分:0)
要解决此问题,请使用相同的上下文事务。
以下代码位于另一个上下文
中orcamento.Cidades = db.Cidades.Where(c => c.CidNome.Trim().ToLower() == orcamento.Cidades.CidNome.Trim().ToLower()).FirstOrDefault();