2013-08-13 27 views
14

Trong ứng dụng Asp.NET MVC4 của tôi, tôi muốn thêm một trường vào mô hình của mình mà không cần thêm nó vào cơ sở dữ liệu.Mô hình có chứa trường mà không thêm nó vào cơ sở dữ liệu không?

Sắp xếp trường chỉ tồn tại trong C# phiên bản của mô hình nhưng không nằm trong cơ sở dữ liệu.

Có chú thích nào hay cách khác để loại trừ trường khỏi cơ sở dữ liệu không?

Tôi có nghĩa là một đối tượng tôi có thể đọc và ghi trong thời gian chạy mà cơ sở dữ liệu không có kiến ​​thức.

+0

Đó là lý do tại sao chúng tôi có các mô hình ** ** và ** viewmodels **. Việc đầu tiên đại diện cho các đối tượng kinh doanh của bạn và họ PHẢI (hầu hết thời gian) được ánh xạ tới một cơ sở dữ liệu. Sau này sẽ chỉ giữ bất kỳ dữ liệu nào mà chế độ xem của bạn yêu cầu hoạt động bình thường. –

+0

Bạn có sử dụng EntityFramework 'Code First' không? – haim770

+0

@AndreCalil Tôi thấy nhưng tôi muốn tránh tạo ra toàn bộ mô hình xem khi tôi chỉ có một giá trị trường mà tôi cần một trình thiết lập và getter cho. – Zebedee

Trả lời

1

Điều đó phụ thuộc vào khung bạn đang sử dụng để truy cập dữ liệu của bạn. Tôi cho rằng đó là Entity Framework. Vâng, bạn có thể tạo một phần lớp với thuộc tính mà bạn muốn không được ánh xạ tới cơ sở dữ liệu của bạn.

cái gì đó như

public class Class1 
{ 
    string Text { get; set; } 

    int Number { get; set; } 
} 

public partial class Class1 
{ 
    bool IsSomething { get; set; } 
} 

nhưng điều đó không đúng đắn. thêm: Entity Framework: add property that don't map to database

Hoặc nếu bạn đang sử dụng Mã đầu tiên: Ignoring a class property in Entity Framework 4.1 Code First