저는 Entity Framework 5의 초보자입니다. 사이트에서 검색하려고 시도했지만 유사한 질문이 있지만 답변이 없습니다.EntityFramework가 새 객체를 만들고 탐색 객체에 기존 객체를 추가합니다.
나는이 발표 테이블, 파일 테이블이며 AnnouncementFiles 테이블 는 [FileID에] [AnnouncementId]이 개 필드를 가지며 발표 객체를 가지고 SQL Server의 탐색 속성 파일
public partial class Announcement
{
//remove other properties
public virtual ICollection<File> Files { get; set; }
}
있습니다. 시나리오는 다음과 같습니다. 새 공지를 만들지 만 모든 파일이 이미 데이터베이스에 있습니다. 코드는 여기에 있습니다 :
public void CreateAnnouncement(Announcement announcement, List<Guid> fileIds)
{
using (var db = new MyDbEntities())
{
var files = db.Files.Where(f => fileIds.Contains(f.Id));
db.Announcements.Add(announcement);
foreach (var file in files)
{
announcement.Files.Add(file);
}
db.SaveChanges();
}
}
및 오류가 같은가 (내 .NET 프레임 워크가 영어가 아닌) 그것이 DefiningQuery을 가지고 있기 때문에, "AnnouncementFiles"EntitySet를 업데이트 할 수 있지만,이 currnet 요소를 지원하기 위해 작동하지 않습니다 .
테이블 구조를 변경할 수 없으므로이를 수행 할 수있는 방법이 있습니까? 일부 게시물에 사용 메서드를 추가했지만 공지 사항을 첨부합니다. 파일에는이 메서드가 없습니다. 감사합니다. .
내가 문제를 찾아 내 계획. 이것은 EF5와 이전 버전의 차이점입니까? – Bubble