2009-03-23 56 views
13

Tôi đang tìm Máy phát điện CRUD (hoặc DAL) đơn giản cho C#. Tôi không muốn bất cứ điều gì nặng vì tôi chỉ có một vài bảng trong cơ sở dữ liệu SQL Server 2008.Máy phát CRUD đơn giản cho C#

Mọi đề xuất? Tôi biết .netTiers, nhưng nó là quá nhiều cho những gì tôi cần.

Cảm ơn!

CẬP NHẬT: Tôi đã thử LINQ to SQL và nó không hoạt động tốt cho nhu cầu của tôi.

+0

Tại sao nó không hoạt động tốt? –

Trả lời

1

LINQ to SQL dễ dàng và được tích hợp vào .NET 3.5 SP1.

+1

Đó là những gì tôi đã cố gắng sử dụng trong một vài ngày và đó là một cơn ác mộng. Về mặt địa lý, tôi có quan hệ M: M ... – Martin

2

gì về việc sử dụng một DataSet được tạo bằng thiết kế DataSet. Tôi nhớ lại trong các ngày cũ (.NET 1.0 và 1.1), chúng ta sẽ kéo một DataAdapter lên bề mặt thiết kế, chỉ rõ truy vấn Select và các truy vấn Insert, Update và Delete sẽ được tạo cho chúng ta, dựa trên truy vấn Select.

1

Trình hướng dẫn Visual Studio sẽ tạo một ứng dụng CRUD đơn giản cho bạn.

Kéo biểu đồ dữ liệu trên biểu mẫu của bạn, nhấp vào thuộc tính kết nối và làm theo trình hướng dẫn từ đó.

Không thực hành tốt nhất nhưng là đơn giản và hoạt động ...

10

Tôi đã sử dụng cận âm vào các dự án trong quá khứ, đó là trọng lượng nhẹ và dễ sử dụng.

Chúng cung cấp một đơn giản tutorial video và sẽ mất không quá 10 phút để thiết lập hoàn toàn. Tôi khuyên bạn nên xem phần thứ hai của video đề cập đến Dự án ứng dụng web vì nó cho bạn thấy cách tạo nút Visual Studio tùy chỉnh tạo DAL cho bạn bất cứ khi nào bạn nhấp vào nó thay vì sử dụng nhà cung cấp tùy chỉnh nửa đầu của video.

Nó cung cấp một số cách để truy cập dữ liệu của bạn, Bản ghi hoạt động, tạo các thủ tục và chế độ xem được lưu trữ đã nhập hoặc a query language mà bạn có thể sử dụng.

Sau khi sử dụng nó, tôi đã tìm thấy một vài quirks:

  • Nếu bạn sử dụng tạo ra được lưu trữ-thủ tục mà không có một tham số, nó sẽ ném một NullReferenceException. Giải pháp thay thế là tạo thông số giả không được sử dụng trong quy trình
  • Chức năng DeepSave() không hoạt động trong phiên bản 2.1 hiện tại, bạn sẽ phải lưu dữ liệu riêng lẻ từ các bảng đã tham gia
  • Khi bạn sử dụng (ví dụ Where(Tag.Columns.TagName).IsEqualTo("subjective"), chắc chắn rằng bạn sử dụng chuỗi giá trị Tag.Columns.TagName để tham khảo các cột - nếu không là một ngoại lệ sẽ được ném nếu bạn cố gắng sử dụng Column.Schema
+0

Subsonic có lẽ là nhà sản xuất DAL nhẹ nhất mà tôi đã tìm thấy cho đến nay. Mọi thứ khác đã trở nên quá cồng kềnh. Hãy thử phiên bản 2.1, hiện có trình cài đặt. –

+2

Liên kết của bạn đã chết; bạn sẽ phải cập nhật chúng để trỏ đến trang web mới tại http://subsonic.github.io/ Tôi đoán là có thể xảy ra. –

+0

Dự án SubSonic dường như không được cập nhật trong 2 năm qua. –

2

Chỉ trong trường hợp tiền không phải là một mối quan tâm lớn, tôi đã đã thành công lớn với các mẫu trong CodeSmith.

Có rất nhiều mẫu mẫu có sẵn cho các hoạt động CRUD và nó sẽ đọc trực tiếp từ cơ sở dữ liệu của bạn.

+0

Tôi đồng ý, tôi sử dụng mã smith cho những thứ nhẹ, nó cũng dễ dàng để viết các mẫu của riêng bạn nếu bạn đang cố gắng tích hợp vào một dự án hiện tại có thể thực sự tiện dụng. – Element

7

Visual Studio đi kèm với trình tạo mã mà hầu như không ai biết về được gọi là T4.

Bạn sẽ có thể sử dụng nó tương đối dễ dàng để tạo các mẫu CRUD.

EDIT

Và đây là một ví dụ như thế nào: http://www.olegsych.com/2008/01/how-to-use-t4-to-generate-crud-stored-procedures/

+0

Wow, mới với tôi - cảm ơn! – Damovisa

+0

t4 là tuyệt vời để tạo các tệp nhập cũ. – Greg

+1

Ồ, rất buồn = (404 - File không tìm thấy – naXa

0

Kiểm tra LLBLGen Pro, tôi xin thề. Nó không phải là miễn phí, nhưng không đắt tiền. Bạn có thể bắt đầu và chạy (viết mã) trong vòng một giờ, và các mẫu nó đi kèm với tạo mã có thể làm về cơ bản bất cứ điều gì bạn muốn. Nó rất đẹp (và hiệu quả) để thậm chí không phải suy nghĩ về mã giao diện cơ sở dữ liệu nữa.

2

thử http://pureobjects.com/ nó không cần bất kỳ công việc khác

+0

Tôi đã sử dụng pureobjects nhiều lần Nó hoạt động rất tốt cho bạn mọi thứ từ DAL đến các đối tượng Chèn, cập nhật, xóa các câu lệnh lớp tất cả mọi thứ. Nó có tất cả !! – Kaos

+0

liên kết pureobjects có vẻ không hợp lệ. Nó sẽ đưa bạn đến một số trang web không lập trình khác. –

1

Tôi đã sử dụng cận âm 3 ActiveRecord nhưng có kể từ khi chuyển đến BLToolkit. BLToolkit khó bắt đầu hơn nhiều do thiếu tài liệu tốt, nhưng một khi bạn quen với nó, nó rất giống với SubSonic ... ngoại trừ không có vấn đề về hiệu suất.

SubSonic là tuyệt vời và dễ dàng nhưng hiệu suất là không thể chịu đựng cho bất cứ điều gì thực tế. Bất cứ khi nào một phép nối hoặc truy vấn phụ được thực hiện, nó sẽ kéo toàn bộ các bảng xuống.