.Net Entity Framework に関するいくつかの記事を読んだことがありますが、実際に試してみたいとは思いませんでした。しかし今、私は小さなテストを始めました。
私は楽しみのために、家族のために経済取引を処理する MVC 3 サイトをセットアップしました。そこで、メンバーシップ プロバイダーをセットアップし、ログイン機能を動作させます。通常、列のメンバーシップ GUID を使用して、特定のユーザーに対して各行を識別します。
プロジェクトでこのクラスをセットアップします。
namespace mEconomy.Models
{
public class Transaction
{
public Guid UserID { get; set; }
public int TransactionID { get; set; }
public DateTime Date { get; set; }
public string Text { get; set; }
public string Category { get; set; }
public decimal Amount { get; set; }
}
public class TransactionDBContext : DbContext
{
public DbSet<Transaction> Transactions { get; set; }
}
}
正常に動作しますが、すべてのユーザーに関する情報を取得します。ユーザー A がログオンしていくつかのトランザクションを作成すると、ユーザー B がアカウントを作成してそれらを見ることができます。ここでのベストプラクティスは何ですか? ユーザーデータを分離するにはどうすればよいですか?
次のように UserID をプライベートとして設定しようとしました。
private Guid UserID = (Guid)Membership.GetUser().ProviderUserKey;
しかし、それはまったくうまくいきませんでした。