私はEF4を使用しています。このコードを使用して、モデルの機能をテストしています。
using (var context = new CamelotDB())
{
Console.WriteLine("Starting User Repository Testing{0}",Environment.NewLine);
Console.WriteLine("Creating Test User");
DomainEntity userToAdd = new User()
{
EntityName = "Test User",
EntityType = DomainEntity.eEntityType.User,
Username = "TestUser",
Password = "123",
Email = "TestUser@Test.org",
FirstName = "Test",
LastName = "User",
Phone = "123456789",
EntityParentID = null,
};
Console.WriteLine("Saving user to database...");
userToAdd = context.DomainEntities.Add(userToAdd);
context.SaveChanges();
Console.WriteLine("Fetching user from database...");
int userID = userToAdd.EntityID;
DomainEntity userToDelete = context.DomainEntities.Find(userID);
Console.WriteLine("Removing the user...");
context.DomainEntities.Remove(userToDelete);
context.SaveChanges();
}
ユーザーがDBに正常に追加し、ユーザーIDを取得します。Find()
でメソッドを使おうとすると
DomainEntity userToDelete = context.DomainEntities.Find(userID);
次のエラーが発生します:値をnullにすることはできません。パラメータ名キー
私はイベントを次のように呼び出そうとしました:
DomainEntity userToDelete = context.DomainEntities.Find(2);
userID 2がDBに存在するが、それでも同じ例外が発生したことを知っています。