我已经创建了一个WCF服务并设置了一个SQL数据库,我想创建一个允许我将数据插入数据库的服务。
这是我的WCF服务以及我用来执行此操作的方法:
namespace WcfService1
{
[ServiceContract]
interface IBookingsService1
{
[OperationContract]
bool InsertBooking(Booking obj);
}
[DataContract]
public class Booking
{
[DataMember]
public int bk_BookingID;
[DataMember]
public string bk_StudentID;
[DataMember]
public string bk_Forename;
[DataMember]
public string bk_Surname;
[DataMember]
public string bk_EventID;
[DataMember]
public string bk_EventTitle;
[DataMember]
public string bk_EventDesc;
[DataMember]
public string bk_EventDate;
[DataMember]
public string bk_EventTime;
[DataMember]
public string bk_EventLocation;
}
SVC
namespace WcfService1
{
public class BookingsService1 : IBookingsService1
{
public bool InsertBooking(Booking obj)
{
bookingList.Add(obj);
return true;
}
public static List<Booking> bookingList = new List<Booking>()
{
new Booking {bk_BookingID = 1,
bk_StudentID = "11432857",
bk_Forename = "Mani",
bk_Surname = "Singh",
bk_EventTitle = "Bonk",
bk_EventDesc = "sdfsdfsd",
bk_EventDate = "11/11/14",
bk_EventTime = "21.30",
bk_EventLocation = "Forum"}
};
}
public static class LinqUpdates
{
public static void Update<T>(this IEnumerable<T> source, Action<T> action)
{
foreach (var item in source)
action(item);
}
}
目前我在猜测何时使用该服务,数据只是存储在公共类'预订'中,但我希望它进入名为'BookingTable1'的表中。
我该如何实现?请帮助我,因为我一直试图弄清楚它已经有一段时间了。谢谢。
答案 0 :(得分:1)
您的实施没有错。在插入操作中使用任何数据库操作。例如,使用带有wcf的实体框架(ef创建表作为契约,或者你可以强制执行)
public bool InsertBooking(Booking obj)
{
using(var db = new Model1Entities())
{
db.Bookings.Attach(obj);
db.Bookings.Add(obj);
db.SaveChanges();
}
return true; // or return obj
}
否则你可以使用任何类似的那个。