新しい画像をアップロードしてプロファイルにリンクするたびに、間違ったデータベースに新しいプロファイルが作成されます。
私はそれがこのコードを介して作成されていると想像します:
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
です。
そのデータベース/コンテキストにプロファイルが表示されないので、テーブルを作成して新しいレコードを挿入していると思いますか?そうしないように言ってもいいですか?ユーザーと画像は、2つの異なるデータベースに保存されるだけです。
それらを同じデータベースに入れてもかまいませんが、画像にDefaultContextを使用するのは好きではないようです。