シンプルな Web アプリケーションにビジネス層を追加しようとしています。私のために生成された EF のような
クラスUser
Lang
現在のBLはこんな感じです。
public class BLuser
{
public static List<User> allUsers()
{
using (MyEntities ctx = new MyEntities())
{
var users = from us in ctx.Users select us;
return users.ToList<User>();
}
}
public static int getUsersLangId(int id)
{
using (MyEntities ctx = new MyEntities())
{
var langid = (from us in ctx.Users where us.Id == id select us.Lang.Id).FirstOrDefault();
return langid;
}
}
public static void changeUsersLangId(int userId, int langId)
{
using (MyEntities ctx = new MyEntities())
{
var user = (from us in ctx.Users where us.Id == userId select us).FirstOrDefault();
user.LangId = langId;
ctx.SaveChanges();
}
}
public static void addNewUser(int userId)
{
User newUser = new User();
newUser.Id = userId;
newUser.LangId = 0;
using (MyEntities ctx = new MyEntities())
{
ctx.Users.Add(newUser);
ctx.SaveChanges();
}
}
}
次に、コードビハインドで次のように呼び出すことができます。
BLuser.changeUsersLangId(1,1);
それは良いアプローチですか (特に静的メソッド)? 何かが欠けている気がしましたが、その場合は静的メソッドのため、BL オブジェクトの永続性を気にする必要はありません。
これに関する役立つチュートリアルはありますか?私が見つけたのは、初心者にとって理解しにくい非常に複雑な記事です。
ありがとう。