【问题标题】:WCF Service to insert data to database in Visual Studio C#WCF 服务在 Visual Studio C# 中将数据插入数据库
【发布时间】:2014-03-17 04:59:45
【问题描述】:

我已经创建了一个 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”的表中。

我该如何实现呢?请帮助我,因为我已经尝试了很长时间了。谢谢。

【问题讨论】:

  • SQL 只是 结构化查询语言 - 许多数据库系统使用的语言,但不是数据库产品...很多事情都是特定于供应商的 - 所以我们真的需要知道您正在使用什么数据库系统(以及哪个版本)(请相应地更新标签)......

标签: c# visual-studio-2010 wcf


【解决方案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
    }

否则你可以使用任何类似的 orm。

【讨论】:

  • 您好,当我输入实体时,它没有出现并出现错误“找不到模型1实体”。我需要事先设置这个实体吗?又是怎么回事?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-09
  • 2014-07-18
  • 1970-01-01
  • 2018-07-31
  • 1970-01-01
  • 2011-01-20
  • 1970-01-01
相关资源
最近更新 更多