我有一个带表的数据库:
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/