具有MySql Connectivity的实体框架不起作用

时间:2018-07-27 08:36:37

标签: c# mysql entity-framework

我一直在四处徘徊,但是找不到任何一篇有用的文章。到处都有点点滴滴,但没有完整的代码。

令人沮丧的是,Microsoft很难将EF与MySql连接,而对于SQL Server则只需要几分钟。

任何人都可以使它变得更简单,仅以简单的步骤进行说明就可以使用MySql创建EF。我只对连接部分感兴趣,否则我已经在EF工作了两年。我知道其余的。这是代码和相关的库。

Data Context Class 

   public ReservationDataContext() : base(@"server=localhost;port=3306;database =xxx;uid=xx;pwd=xx") { }

    partial void OnCreated();


    public ReservationDataContext(string connectionString): base(connectionString)
    {
        this.OnCreated();
    }



    public ReservationDataContext(string connection, MappingSource mappingSource) : 
        base(connection,mappingSource)
    {
        this.OnCreated();
    }


    public Table<Reservation> Reservations
    {
        get
        {
            return this.GetTable<Reservation>();
        }
    }


 Entity Class: 
   [Table(Name = "reservations")]
public class Reservation
{
    [Column(IsPrimaryKey = true, IsDbGenerated = true, AutoSync = AutoSync.OnInsert)]
    public int Id { get; set; }
    [Column]
    public bool IsReserved { get; set; }
    [Column]
    public string Status { get; set; }

dll如下。

dlls

在获取sql服务器实体框架而不是mysql dll时出现错误。所以解决了。没有给出任何错误,但返回null且未获取数据。这是代码。

在查询处理程序类中。

private ReservationContext reservationContext;
    public QueryHandler()
    {

        reservationContext = new ReservationContext(ConfigurationManager.ConnectionStrings["ReservationDataContext"].ConnectionString);
    }


    public List<Reservation> GetAllReservations()
    {
        List<Reservation> resList = reservationContext.Reservations.ToList();

        return resList;
    }

0 个答案:

没有答案