static void Main(string[] args) { using (var scope = new TransactionScope(TransactionScopeOption.Required)) { using (var db = new UserGroupsEntities()) { var groupAdmins = new Group() { GroupName = "Admins" }; if (db.Groups.Count(x => x.GroupName == "Admins") == 0) { db.Groups.Add(groupAdmins); db.SaveChanges(); } var user = new User() { UserName = "******", GroupID = db.Groups.Where(x => x.GroupName == "Admins").First().GroupID }; db.Users.Add(user); db.SaveChanges(); } scope.Complete(); } }
public static void Main() { string userName = "******"; string groupName = "Admin"; using (var userDB = new UserGroupsEntities()) { using (var transaction = userDB.Database.BeginTransaction()) { try { var user = new User(); user.Name = userName; var group = userDB.Groups.Where(x => x.Name == groupName).FirstOrDefault(); if (group == null) { group = new Group() { Name = groupName }; } userDB.Groups.Add(group); userDB.Users.Add(user); userDB.SaveChanges(); var userGroup = new UserGroup() { UserId = userDB.Users.FirstOrDefault(x => x.Name == userName).ID, GroupId = userDB.Groups.FirstOrDefault(x => x.Name == groupName).ID }; userDB.UserGroups.Add(userGroup); userDB.SaveChanges(); transaction.Commit(); Console.WriteLine("Successfully Inserted"); } catch (Exception ex) { transaction.Rollback(); Console.WriteLine(ex.Message); } } } }