我在SQL Server Management Studio中創建了兩個存儲過程。通過實體框架調用存儲過程後,數據庫中的表更新,但實體保持原樣
第一個過程中ProjcetsToUsers表中添加字段(許多-to-many關聯)
CREATE PROCEDURE sp_addUserToProject
@userId int,
@projectId int
AS
BEGIN
SET NOCOUNT ON;
IF NOT EXISTS(SELECT * FROM ProjectsToUsers WHERE idProject = @projectId and idUser = @userId)
INSERT INTO ProjectsToUsers (idProject, idUser) VALUES (@projectId, @userId)
END
GO
第二個過程,從該表中刪除字段:
CREATE PROCEDURE sp_deleteUserToProject
@userId int,
@projectId int
AS
BEGIN
SET NOCOUNT ON;
DELETE FROM ProjectsToUsers WHERE idProject = @projectId and idUser = @userId
END
GO
第一功能導入更新的所有日期(以數據庫和會話中的實體):
Entities.AddUserToProject(projectId: project.id, userId: user.id);
第二函數i M端口在數據庫更新單場=(
bugTrackerEntities.DeleteUserFromProject(projectId: project.id, userId: user.id);
我試圖刷新的entites:
bugTrackerEntities.Refresh(RefreshMode.StoreWins, project);
bugTrackerEntities.Refresh(RefreshMode.StoreWins, user);
bugTrackerEntities.SaveChanges(SaveOptions.AcceptAllChangesAfterSave);
project.Users.Load();
user.Projects.Load();
它並沒有幫助=(
我可以從項目中刪除用戶,然後添加另一個,並添加新的,但刪除了遺體。至於數據庫,這個功能正常工作。
爲什麼會發生這種情況?
這些被稱爲**存儲**過程(如存儲在SQL Server中) - **不存儲過程.... – 2011-03-15 14:16:17