public IQueryable GetUsers()
{
DeptEntities db = new DeptEntities();
return db.Users.AsQueryable();
}
public bool UpdateUser(string login, string fullName, string email, string description)
{
int rowsAffected = -1;
using (DeptEntities db = new DeptEntities())
{
// 更新するには、データベース内にユーザーが存在する必要があります。
User found = db.Users.FirstOrDefault(u => u.Login == login);
if (found == null) return false;
// ログイン名以外のすべてのユーザープロパティは変更できます。
found.FullName = fullName; found.Email = email; found.Description = description;
if (ModelState.IsValid)
{
rowsAffected = db.SaveChanges();
}
}
// この更新の実行後は、1人のユーザーだけが更新される必要があります(一度に1行のみ)。
return rowsAffected == 1;
}
public bool InsertUser(string login, string fullName, string email, string description)
{
int rowsAffected = -1;
using (DeptEntities db = new DeptEntities())
{
// ログイン名は一意である必要があります。
User found = db.Users.FirstOrDefault(u => u.Login == login);
if (found != null)
{
string exceptionMessage = string.Format("Login name should be unique.
There is an existing user with the login name of {0}", login);
throw new InvalidOperationException(exceptionMessage);
}
// 新規ユーザーを作成します。
var user = new User()
{
Login = login,
FullName = fullName,
Email = email,
Description = description
};
// ユーザーをモデルに追加してから、変更をコミットします。
if (ModelState.IsValid)
{
db.Users.AddObject(user);
rowsAffected = db.SaveChanges();
}
}
return rowsAffected == 1;
}
public bool DeleteUser(string login)
{
int rowsAffected = -1;
using (DeptEntities db = new DeptEntities())
{
User found = db.Users.FirstOrDefault(u => u.Login == login);
if (found != null)
{
db.Users.DeleteObject(found);
rowsAffected = db.SaveChanges();
}
}
return rowsAffected == 1;
}
Public Function GetUsers() As IQueryable(Of User)
Dim db As New DeptEntities()
Return db.Users.AsQueryable()
End Function
Public Function UpdateUser(login As String, fullName As String, email As String,
description As String) As Boolean
Dim rowsAffected As Integer = -1
Using db As New DeptEntities()
' 更新するには、データベース内にユーザーが存在する必要があります。
Dim found As User = db.Users.FirstOrDefault(Function(u) u.Login = login)
If found Is Nothing Then
Return False
End If
' ログイン名以外のすべてのユーザープロパティは変更できます。
found.FullName = fullName
found.Email = email
found.Description = description
If ModelState.IsValid Then
rowsAffected = db.SaveChanges()
End If
End Using
' この更新の実行後は、1人のユーザーだけが更新される必要があります(一度に1行のみ)。
Return rowsAffected = 1
End Function
Public Function InsertUser(login As String, fullName As String, email As String,
description As String) As Boolean
Dim rowsAffected As Integer = -1
Using db As New DeptEntities()
' ログイン名は一意である必要があります。
Dim found As User = db.Users.FirstOrDefault(Function(u) u.Login = login)
If found IsNot Nothing Then
Dim exceptionMessage As String = String.Format("Login name should be unique.
There is an existing user with the login name of {0}", login)
Throw New InvalidOperationException(exceptionMessage)
End If
' 新規ユーザーを作成します。
Dim user = New User() With { _
.Login = login, _
.FullName = fullName, _
.Email = email, _
.Description = description _
}
' ユーザーをモデルに追加してから、変更をコミットします。
If ModelState.IsValid Then
db.Users.AddObject(user)
rowsAffected = db.SaveChanges()
End If
End Using
Return rowsAffected = 1
End Function
Public Function DeleteUser(login As String) As Boolean
Dim rowsAffected As Integer = -1
Using db As New DeptEntities()
Dim found As User = db.Users.FirstOrDefault(Function(u) u.Login = login)
If found IsNot Nothing Then
db.Users.DeleteObject(found)
rowsAffected = db.SaveChanges()
End If
End Using
Return rowsAffected = 1
End Function