Tôi hơi bối rối về việc có nên sử dụng DbSet.Create hay chỉ đơn giản là tạo một thực thể mới và thêm nó. Tôi không thực sự hiểu các chi nhánh của việc sử dụng DbSet.Create.Phép tính của DbSet.Create so với thực thể mới()
Tôi hiểu rằng DbSet.Create sẽ tạo phiên bản proxy nếu có, nhưng tôi thực sự không hiểu điều đó có nghĩa là gì. Sao tôi phải quan tâm? Dường như với tôi rằng một lớp Proxied rỗng không hữu ích hơn một lớp không được ủy quyền, vì không có các thực thể liên quan đến tải lười.
Bạn có thể cho tôi biết sự khác biệt, ngoài hiển nhiên không? Và tại sao bạn sẽ quan tâm?
Ahh. Tôi đã không nhận ra rằng bạn chỉ có thể cư trú một id khóa nước ngoài và có nó lười biếng tải nó mà không có tất cả các fuss. Tôi đoán tôi có thể thấy làm thế nào mà có thể hữu ích nếu bạn không muốn tải các bản ghi hiện có và chỉ muốn con. –
Phải làm gì nếu "context.Parents" là null, tôi đang thử trường hợp của bạn và có vẻ như nó là hoàn toàn khả thi nhưng không may cho tôi "context.Parents" là null vì vậy ngoại lệ này tạo ra như Ngoại lệ loại 'System.NullReferenceException 'xảy ra trong YourProject.dll nhưng không được xử lý trong mã người dùng Thông tin bổ sung: Tham chiếu đối tượng không được đặt thành phiên bản của đối tượng. Nếu bạn có bất kỳ giải pháp nào, vui lòng cho tôi biết, vì vậy tôi sẽ khắc phục và viết vào các ghi chú của tôi để thoát khỏi các lần xuất hiện tiếp theo. –