- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对禁用整个上下文的延迟加载不感兴趣。我只想有选择地禁用一些关键导航属性的延迟加载。
vượt qua Code First 方法,我了解了如何有选择地禁用延迟加载:
public virtual Person Requestor { get; set; } //lazy loading enabled
...
public Person Requestor { get; set; } //lazy loading disabled
然而,使用数据库优先方法,这是从模板生成的代码,因此此修改将在下一次重新生成时丢失。
有没有办法修改模型或模板生成器以选择性地禁用延迟加载?
1 Câu trả lời
我不知道有什么办法。但是,如果您打算使用实体代码生成器,则可以构建警告系统,以便在重新生成代码时立即收到通知(取决于您的构建策略)。
所以我要做的是针对选定的实体,假设实体是 Request
并且有问题的属性是 Requestor
然后编写一个测试来断言该属性是不是虚拟的
[Phương pháp thử nghiệm()]
public void RequestPropertyRequestor_MustNotBeVirtual() {
PropertyInfo[] properties = typeof(Request).GetProperties()
.Where(p => p.GetGetMethod().IsVirtual).ToArray();
Assert.AreEqual(0, properties.Count(p => p.Name == "Requestor"), "Model Code Regenerated - change the Request Entity");
}
不确定反射代码的准确性,但您明白我的意思。这样,当重新生成实体并且您修改了代码时,测试将失败。预警系统
hoặc
您可以关闭代码生成并使用 POCO。
建议的更改
如果您不想关闭代码生成,那么修改 T4 模板是可行的方法。只是
không có
,这样默认生成就不会发生。这导致没有派生的 DbContext
或实体类
关于visual-studio - 使用数据库优先方法选择性地禁用延迟加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17001275/
Tôi muốn hiểu phương thức methods() của Ruby hoạt động như thế nào. Tôi đã thử tìm kiếm trên Google bằng "phương pháp ruby", nhưng đó không phải là những gì tôi cần. Tôi cũng đã xem ruby-doc.org nhưng không tìm thấy phương pháp này.
Phương thức Test thực hiện tìm kiếm biểu thức chính quy trên chuỗi đã chỉ định và trả về giá trị Boolean cho biết liệu có tìm thấy kết quả khớp hay không. object.Test(string) Tham số object Bắt buộc. Luôn luôn là một
Phương pháp Thay thế thay thế văn bản được tìm thấy trong tìm kiếm biểu thức chính quy. object.Replace(string1, string2) Tham số object Bắt buộc. Luôn luôn là tên của đối tượng RegExp.
Phương thức Raise tạo ra một đối tượng lỗi thời gian chạy. Raise(số, nguồn, mô tả, tệp trợ giúp, ngữ cảnh trợ giúp) Đối tượng tham số phải là
Phương thức Execute thực hiện tìm kiếm biểu thức chính quy trên chuỗi đã chỉ định. object.Execute(string) Tham số object Bắt buộc. Luôn luôn là tên của đối tượng RegExp. sợi dây
Phương thức Clear xóa tất cả các thiết lập thuộc tính của đối tượng Err. object. Đối tượng xóa phải là tên của đối tượng Err. Mô tả Sau khi xử lý lỗi, sử dụng Clear để xóa rõ ràng đối tượng Err. cái này
Phương pháp CopyFile sao chép một hoặc nhiều tệp từ vị trí này sang vị trí khác. object.CopyFile nguồn, đích[, ghi đè] Đối tượng tham số bắt buộc
Phương pháp Copy sao chép một tệp hoặc thư mục được chỉ định từ vị trí này sang vị trí khác. object.Copy destination[, ghi đè] Tham số object Bắt buộc. Tệp hoặc F dự kiến
Phương thức Close đóng tệp TextStream đã mở. Đối tượng object.Close phải là tên của đối tượng TextStream. Ví dụ sau minh họa cách sử dụng phương thức Close.
Phương thức BuildPath thêm tên vào đường dẫn hiện có. object.BuildPath(path, name) Tham số object Bắt buộc. Phải là tên của đối tượng FileSystemObject
Phương thức GetFolder trả về một đối tượng Folder tương ứng với một thư mục trong đường dẫn đã chỉ định. object.GetFolder(folderspec) Tham số object Bắt buộc. Nên là FileSy
Phương thức GetFileName trả về tệp hoặc thư mục cuối cùng trong đường dẫn đã chỉ định (không phải phần đường dẫn ổ đĩa đã chỉ định). object.GetFileName(pathspec) Tham số object Bắt buộc. Nên là
Phương thức GetFile trả về một đối tượng File tương ứng với một file trong đường dẫn đã chỉ định. object.GetFile(filespec) Tham số object Bắt buộc. FileSystemObject mong đợi
Phương thức GetExtensionName trả về một chuỗi chứa phần mở rộng của thành phần cuối cùng của đường dẫn. object.GetExtensionName(path) Tham số object Bắt buộc. trả lời
Phương thức GetDriveName trả về một chuỗi chứa tên ổ đĩa trong đường dẫn đã chỉ định. object.GetDriveName(path) Tham số object Bắt buộc. Nên là FileSystemObject
Phương thức GetDrive trả về một đối tượng Drive tương ứng với ổ đĩa trong đường dẫn đã chỉ định. object.GetDrive tham số drivespec đối tượng Bắt buộc. Nên là FileSystemO
Phương thức GetBaseName trả về một chuỗi chứa tên cơ sở (không có phần mở rộng) của tệp hoặc thư mục trong thông số đường dẫn được cung cấp. object.GetBaseName(path) Tham số object Bắt buộc
Phương thức GetAbsolutePathName trả về đường dẫn đầy đủ và rõ ràng từ đường dẫn được chỉ định. object.GetAbsolutePathName(pathspec) Đối tượng tham số
Phương thức FolderExists trả về True nếu thư mục được chỉ định tồn tại; nếu không, nó trả về False. object.FolderExists(folderspec) Tham số object Bắt buộc
Phương thức FileExists trả về True nếu tệp được chỉ định tồn tại; nếu không, nó trả về False. object.FileExists(filespec) Tham số object Bắt buộc. Nên là FileS
Tôi là một lập trình viên xuất sắc, rất giỏi!