我有一个带表的数据库:

User { UserId, Name, Number, DateCreated, DateEffective, DateEnd, DateReplaced }

我通过 WCF 数据服务公开包含该表的数据库中的信息。

1) 列:DateCreated、DateEffective、DateEnd、DateReplaced 用于保存历史记录,因此使用我的 WCF 数据服务的客户端不应显示。

2)此外,每当客户进行查询时:
         var q = from u in service.Users select u;

我希望它只返回将 DateEnd 列设置为 null 的用户。

有什么方法可以实现该功能吗?

最佳答案

1 如果您正在通过 WCF,您将序列化为 XML,对吗?所以将不想序列化的属性标记为 NonSerialized。

[NonSerialized()] public string test; [MSDN NonSerializedAttribute Class][1]

2 您必须公开一种方法供客户端访问,该方法已经过滤掉了空 DateEnd 列。


public class Service{
private List<User> _users;
public List<User> Users {
    get{
        from u in _users where u.DateEnd == null select u
    }
}
...

}

关于c# - 首先自定义 Entity Framework 代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6035455/

10-13 06:51