我正在尝试在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,但无法获得该表。
任何人都知道我需要改变哪一部分?
谢谢!
答案 0 :(得分:1)
你能用Table attribute装饰你的Xcartorder类来明确指定所需的名字吗?
[Table("xcart_orders")]
public class XcartOrder
{
...
编辑:属性语法