我一直在四处徘徊,但是找不到任何一篇有用的文章。到处都有点点滴滴,但没有完整的代码。
令人沮丧的是,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如下。
在获取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;
}