如何在ASP.net MVC3中获取mysql数据?

时间:2012-04-03 13:42:19

标签: asp.net asp.net-mvc-3

我正在尝试在ASP.net MVC3中获取我的mysql数据。

mysql数据库名称为supply_db,表名为xcart_orders。

ASP.net代码如下所示,

(我只是关注我的书,只是切换到我的数据库信息,但它不起作用:()

(我将省略使用和命名空间)

Web.Config文件,

<add name="EFMysqlContext" connectionString="server=XXX.XXX.XXX.XX;User Id=root;pwd=xxx;Persist Security Info=True;database=supply_db"
         providerName="Mysql.Data.MySqlClient" />

抽象/ IXcartOrdersRepository.cs

public interface IXcartOrdersRepository
{
    IQueryable<XcartOrder> xcart_orders { get; }
}

/Concrete/EFXcartOrderRepository.cs

public class EFXcartOrdersRepository : IXcartOrdersRepository
{
private EFMysqlContext context = new EFMysqlContext();

public IQueryable<XcartOrder> xcart_orders 
{
    get { return context.xcart_orders; }  // I thought the 'xcart_orders' should be match with db table name, isn't it?
}
}

/Entities/XcartOrder.cs

public class XcartOrder
{
    [Key]
    public int orderid { get; set; }
    public string login { get; set; }
    public string membership { get; set; }
    public decimal subtotal { get; set; }
}

并在我的控制器中,

IXcartOrdersRepository XcartOrdersRepository = new EFXcartOrdersRepository();
int orderCnt = XcartOrdersRepository.xcart_orders.Count();

然后发生错误,错误消息说“{”表'supply_db.XcartOrders'不存在“}”

我想我可以连接到db,但无法获得该表。

任何人都知道我需要改变哪一部分?

谢谢!

1 个答案:

答案 0 :(得分:1)

你能用Table attribute装饰你的Xcartorder类来明确指定所需的名字吗?

[Table("xcart_orders")]
public class XcartOrder
{
    ...

编辑:属性语法