每次我上传新图像并将其与个人资料链接时,它也会在错误的数据库中创建一个新的个人资料。
我想它是通过以下代码创建的:
var imageMeta = new ImageMeta
{
Name = imageForm.Name,
User = Profile,
};
...
db.Images.Add(imageMeta);
db.SaveChanges();
Profile
我从哪里来BaseController
:
public class BaseController : Controller
{
private UsersContext _udb = new UsersContext();
private UserProfile _profile = null;
public new UserProfile Profile
{
get
{
if(_profile == null && User.Identity.IsAuthenticated)
{
_profile = _udb.UserProfiles.Single(p => p.UserName == User.Identity.Name);
}
return _profile;
}
}
}
该方法Profile.get
从 中提取登录用户的正确配置文件UsersContext
,但db
第一个片段中的实际是GalleryContext
.
我猜它在该数据库/上下文中看不到配置文件,所以它正在创建表并将新记录插入其中?我可以告诉它不要那样做吗?用户和图像只是存储在两个不同的数据库中。
我不介意将它们放在同一个数据库中,但它似乎不喜欢将 DefaultContext 用于我的 images。