2008-09-03 65 views
7

Câu hỏi này được đề cập đến một mức độ trong câu hỏi này trên LINQ to SQL .dbml best practices, nhưng tôi không chắc chắn làm thế nào để thêm vào một câu hỏi.Quản lý LINQ to SQL .dbml mô hình phức tạp

Một trong các ứng dụng của chúng tôi sử dụng LINQ to SQL và hiện tại chúng tôi có một tệp .dbml cho toàn bộ cơ sở dữ liệu đang trở nên khó quản lý. Chúng tôi đang xem xét việc tái cấu trúc nó một chút thành các tệp riêng biệt có nhiều mô-đun/chức năng cụ thể hơn, nhưng một vấn đề là nhiều lớp cấp cao sẽ phải được sao chép trong một số tệp .dbml vì không thể sử dụng liên kết. các tệp dbml (theo như tôi biết), với mã lớp bổ sung một phần là tốt.

Có ai đã vật lộn với vấn đề này và bạn sẽ đưa ra đề xuất nào?

Trả lời

0

Cách tiếp cận mà chúng tôi đã sử dụng để lưu các tệp 2 .dbml. Một trong số họ giữ Procs được lưu trữ và tất cả truy cập DB sản xuất được thực hiện thông qua việc này. Cái còn lại nằm trong một thư mục kiểm tra đơn vị và chứa các bảng và các mối quan hệ của chúng và được sử dụng cho thao tác dữ liệu DB và truy vấn cho các bài kiểm tra đơn vị.

1

Sau một kích thước nhất định, có thể dễ dàng hơn khi làm việc với xml thay vì trình thiết kế dbml.

2

Tận dụng lợi thế của cài đặt không gian tên. Bạn có thể truy cập vào các thuộc tính từ cách nhấp vào khoảng trắng trong ORM.

Điều này cho phép tôi có bảng Người dùng và lớp Người dùng cho một bộ quy tắc kinh doanh và bảng Người dùng thứ hai (nhưng cùng lưu trữ dữ liệu) và một Lớp người dùng cho một bộ quy tắc kinh doanh khác.

Hoặc, chia nhỏ thư viện, cũng nên có ảnh hưởng của việc thay đổi không gian tên tùy thuộc vào quy ước đặt tên của công ty bạn. Tôi chưa bao giờ làm việc trên một ứng dụng doanh nghiệp mà tôi cần truy cập vào mọi bảng.

0

Tôi đã viết một tiện ích để giải quyết chính xác vấn đề đó, tôi cần một ứng dụng nhanh để cho phép bạn chọn chỉ các đối tượng cơ sở dữ liệu bạn cần. Trong trường hợp của tôi, tôi thường cần một cái nhìn phức tạp, nhưng không có bảng.

http://www.codeplex.com/SqlMetalInclude/

+0

liên kết không hoạt động đối với tôi .... –

1

Tôi cũng đã viết một công cụ! Của tôi là để thay đổi kịch bản cho các tệp dbml bằng cách sử dụng C# để bạn có thể chạy lại chúng và không bị mất các thay đổi. Xem blog của tôi http://www.adverseconditionals.com 4 chi tiết khác

+0

Blog có vẻ không hoạt động. –

+0

Chúc mừng. Hóa ra tôi không thể đánh vần địa chỉ blog của chính mình! – mcintyre321