什么是数据契约(属性类)和可观察集合

发布于 2024-07-25 19:15:37 字数 100 浏览 8 评论 0原文

什么是数据契约(属性类)和可观察集合何时、何地以及为何在 silverlight 上下文中使用它们,请在详细信息和示例

++ 中进行解释 感谢致敬 米图·乔杜里

What is data contract (property class) and observable collection when, where and why to use these in context to silverlight please do explain in Details with Examples

++
Thanks and Regards
Meetu Choudhary

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

无名指的心愿 2024-08-01 19:15:37

如果您需要来自数据库或服务器的某些数据,则 SL 应用程序依赖于 WCF 服务(或 Web 服务)。

现在。 如果您使用 WCF 服务,那么如果您想发送除 string、int 或其他数据类型以外的任何数据,那么您必须创建数据协定,然后您可以使用该类作为任何称为操作协定的函数的返回类型

可观察集合是.Net 3.0中引入的集合类型,使用它的优点是,如果您将其与数据网格绑定,并且如果您允许用户更改集合值,那么它将自动反映在数据网格中(类似于双向绑定)

所以,简而言之,

自定义类 Property = DataMember
自定义类=DataContract

函数=OperationContract
服务类别 = 服务合同

[DataContract]
public class LOVMetaData
{
    public LOVMetaData(decimal LId, string LHeader, string sql, bool selMode, string conString)
    {
        LOVId = LId; LOVHeader = LHeader; BasicSQL = sql; DefaultSelectionMode = selMode; ConnectionString = conString;
    }
    [DataMember]
    public decimal LOVId { get; set; }

    [DataMember]
    public string LOVHeader { get; set; }

    [DataMember]
    public string BasicSQL { get; set; }

    [DataMember]
    public bool DefaultSelectionMode { get; set; }

    [DataMember]
    public string ConnectionString { get; set; }    
}

[OperationContract]
public List<LOVMetaData> GetListofLOV(string filterString)  

If you want certain data from database or from server then SL Application is dependent on WCF Service (or web service).

Now. if you use WCF Service then if you want to send any data other then let's say string, int, or other datatypes then you have to create data contract and then you can use that class as return type of any function which is called as operation contract

Observable collection is type of collection introduced in .Net 3.0, the advantage of using it is that if you will bind it with datagrid and if you have allowed user to change collections value then it will be automatically reflected in datagrid (something like twoway binding)

so, in nutshell

Custom class Property = DataMember
Custom Class = DataContract

Function = OperationContract
ServiceClass = ServiceContract

[DataContract]
public class LOVMetaData
{
    public LOVMetaData(decimal LId, string LHeader, string sql, bool selMode, string conString)
    {
        LOVId = LId; LOVHeader = LHeader; BasicSQL = sql; DefaultSelectionMode = selMode; ConnectionString = conString;
    }
    [DataMember]
    public decimal LOVId { get; set; }

    [DataMember]
    public string LOVHeader { get; set; }

    [DataMember]
    public string BasicSQL { get; set; }

    [DataMember]
    public bool DefaultSelectionMode { get; set; }

    [DataMember]
    public string ConnectionString { get; set; }    
}

[OperationContract]
public List<LOVMetaData> GetListofLOV(string filterString)  
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文