Med .NET 4.0 er ADO.NET Data Services blevet til WCF Data Services.
Med WCF data services kan du både konsumere datakilder og stille datakilder til rådighed, uanset om det er in-memory objekter eller fra relation databaser. Når du bygger en data kilde op fra f.eks in-memory objekter vil de blive tilgængelige over et REST interface som man kan tilgå fra hvor som helst (så længe “hvor som helst” kan parse XML).
WCF Data Services er utrolig fleksibelt og faktisk super nemt at gå til, det kræver faktisk ikke meget kode at prøve det af. File –> New –> Wcf Data Service:
using System;
using System.Data.Services;
using System.Data.Services.Common;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel.Web;
public class UsersDataService : DataService<UsersContext>
{
public static void InitializeService(DataServiceConfiguration config) {
config.SetEntitySetAccessRule("Users", EntitySetRights.AllRead);
config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
}
}
public class User
{
public int ID { get; set; }
public string Username { get; set; }
}
public class UsersContext
{
static List<User> _users;
static UsersContext() {
_users = new List<User>() {
new User { ID = 1, Username = "Daniel" },
new User { ID = 2, Username = "Henrik" }
};
}
public IQueryable<User> Users {
get { return _users.AsQueryable(); }
}
}
Højreklik og vælg “view in browser”. Nu vil du få det data ud som er i vores in-memory objekt, som XML.
Hvis du gerne vil se mere omkring WCF Data Services vil jeg forslå du ser disse screencasts igennem.
(ADO.NET Data Services baseret på en Non-Relational Data Source)
(ADO.NET Data Services baseret på en Relational Data Source)