Code First 的 Advantage Database Server 11 连接字符串
Posted
技术标签:
【中文标题】Code First 的 Advantage Database Server 11 连接字符串【英文标题】:Advantage Database Server 11 connection string for Code First 【发布时间】:2012-11-12 17:53:41 【问题描述】:我在使用 ADS11 连接字符串的代码时遇到问题,
我尝试了很多方法,但我无法做到。
谁知道,请指教。
这是我的工作环境。
服务器:优势数据库服务器 11
路径:\ADS_DB:6262\DB\DBB.ADD(端口:6262)
测试访问表:WEBORDERLN(ADT 类型)
PK:PK(字符(36))
我下载了 Advantage.Data.Provider v11 和 Advantage.Data.Entity v11。 并添加参考。
Web.config
<connectionStrings>
<add name="Ads_Context" connectionString="Data Source=\\ADS_DB:6262\DB\DBB.ADD;User ID=xxx;Password=xxx;ServerType=REMOTE;" providerName="Advantage.Data.Provider" />
</connectionStrings>
控制器,
public class Ads_Context : DbContext
public Ads_Context(): base("name=Ads_Context")
public DbSet<WebOrderLN> webOrderLns get; set;
public class HomeController : Controller
//
// GET: /Home/
public string Index()
var context = new Ads_Context().webOrderLns.ToList(); // Source error point to here
return "A";
[Table("WEBORDERLN")]
public class WebOrderLN
[Key]
public string PK get; set;
public string FK get; set;
public string pickno get; set;
当我运行上面的代码时,我收到一条错误消息,
Server Error in '/' Application.
Error 7200: AQE Error: State = HY000; NativeError = 5174; [iAnywhere Solutions][Advantage SQL][ASA] Error 5174: Advantage failed to open the specified link. dbo: Error 7041: File not found. Verify the specified path and file name is correct. Table name: WEBORDERLN AdsCommand query execution failed.
有人知道,我做错了什么吗?
【问题讨论】:
【参考方案1】:尝试将 ::this 的架构名称添加到代码中的表中。
[Table( "WEBORDERLN", Schema = "::this" )]
public class WebOrderLN
[Key]
public string PK get; set;
public string FK get; set;
public string pickno get; set;
查看此知识库项目 http://devzone.advantagedatabase.com/dz/content.aspx?Key=17&RefNo=120423-2510
【讨论】:
以上是关于Code First 的 Advantage Database Server 11 连接字符串的主要内容,如果未能解决你的问题,请参考以下文章
EF基础知识小记六(使用Code First建模自引用关系,常用于系统菜单文件目录等有层级之分的实体)
EF Code-First 学习之旅 Code First Conventions