使用实体框架4.1代码优先于模型/数据库优先使用EDMX图表有什么优缺点?
我正在尝试完全理解使用EF 4.1构建数据访问层的所有方法.我正在使用Repository模式和IoC.
我知道我可以使用代码优先方法:手动定义我的实体和上下文并用于ModelBuilder微调模式.
我还可以创建一个EDMX图表并选择一个代码生成步骤,该步骤使用T4模板生成相同的POCO类.
在这两种情况下,我最终POCO都得到了ORM不可知的对象和源自的上下文DbContext.
数据库优先似乎最吸引人,因为我可以在企业管理器中设计数据库,快速同步模型并使用设计器对其进行微调.
那么这两种方法有什么区别?是仅仅关于VS2010与企业管理器的偏好?
entity-framework poco ef-code-first entity-framework-4.1 ef-database-first
我有一个产品设计为使用MS Access文件作为数据库的桌面产品.
现在,一些用户需要将它安装在几台PC上(假设为2或3)并共享数据库.
我想将MS Access文件放在共享文件夹中并从PC访问它,但是...... JET Engine是为多用户访问而设计的?
有什么提示或事情需要注意这样做吗?
编辑:该应用程序是.net一个,使用数据库作为存储(不使用数据库作为前端)
我正在调用外部HTTPS Web服务.
为了检查出错了什么,所有者需要我发送的SOAP请求.
我有一个Web引用和由VS 2008生成的生成的代理类...
有没有办法在发送之前查看SOAP消息?
我正在考虑一些.net代码...因为我试过的Sniffer没有"看到"web服务调用不知道为什么.
我在CSR文件(证书签名请求)中运行,我需要从中提取一些信息.
有一种方法可以使用.NET Framework对其进行解码吗?
我修改了一个应用程序以考虑VISTA中的UAC.所以,现在,.mdb(JET或Access文件)位于ProgramData\MyApp\
我意识到,当我的应用程序第一次读取数据库时,它正在从该位置执行...但是当我的应用程序正在写入数据库时...文件已虚拟化并转到Users\MyUser\AppData\Local\VirtualStore\ProgramData\MyApp.从我的应用程序的这一刻起,总是转到磁盘中的虚拟化位置.
我的应用程序正在运行,但如果我继续这种方式,数据库将基于每个用户,我们真的需要与PC中的所有用户共享数据库.
我认为在ProgramData文件夹下写入不会触发虚拟化机制.
我错过了什么?
我需要在ProgramData下设置MyApp文件夹的权限吗?
如何在安装时间执行此操作?
谢谢大家......
更多信息: 使用VS Setup Project使用VS2003 VB.NET开发.
不知道我的设置发生了什么,但是最近,当我用新字段或具有特定表(>的外键的新表)更新数据库时Person,我的数据库刷新会获取新字段,但不识别FK与...的关系Person.大多数其他表的外键工作正常.
可能缺少什么设置?
也许一个线索:Person充当其他几个表的基本类型,例如Manager,Customer所有表都具有名称,出生日期,性别等的基本特征,而后代表具有也作为外键的主键.Person.与子代表的FK关系也未被识别.
我递归地加载马谱系数据.对于一些错误的数据集,我的递归永远不会停止......这是因为数据中有循环.
如何检测这些循环以停止重复?
我想到的是反复出现维持所有"访问过的"马匹的哈希表.但这会发现一些误报,因为一匹马可以在树上两次.
不可能发生的事情是,一匹马看起来像是父亲或祖父或自己的祖父.
我有一个PrintDocument有几页的.该文档中的一页必须处于横向方向而不是Portrail.
当为文档上的每个页面触发PrintPage事件时......在该事件处理程序的最开始,我将其设置PrintPageEventArgs.PageSettings.Landscape为true.
这不适用于那个页面......但是我可以看到Landscape设置为true并在NEXT页面中考虑到了.
我假设某种方式...在某个页面触发事件后,您无法更改页面方向.如果你认为它的逻辑就更少了......但是我怎么能在EVENT在多页PrintDocument中触发之前设置FLAG?
注意:我事先并不知道"下一页"是否真的需要横向方向.
我有一个带有 Flag 枚举的对象,有几种可能的“用途”。标志枚举使用 2 的正确幂。
检查变量是否打开了某个标志,我可以使用 .NET 4 来完成HasFlag()
但:
如果我将该标志组合作为 int 存储在数据库中...如何使用实体框架检索具有特定标志的对象?
例如,如果我的对象是“ Contact”类型,我想查询其中实际上是“客户和朋友”的对象,即枚举中的客户和朋友标志ContactType。
我有一个存储过程,它返回学生是否被锁定:
RETURN @isLocked
Run Code Online (Sandbox Code Playgroud)
我执行这个存储过程,如:
public int IsStudentLocked(string studentName, int lockoutTime)
{
SqlConnection connObj = new SqlConnection();
connObj.ConnectionString = Util.StudentDataInsert();
connObj.Open();
SqlCommand comm = new SqlCommand("uspCheckLockout", connObj);
comm.CommandType = CommandType.StoredProcedure;
comm.Parameters.Add(new SqlParameter("@Studentname", studentName));
comm.Parameters.Add(new SqlParameter("@LockoutTime", lockoutTime));
comm.ExecuteNonQuery();
connObj.Close();
//How can I return the @isLocked value below?
return ((int)(@isLocked));
}
Run Code Online (Sandbox Code Playgroud) .net ×4
c# ×4
.net-4.0 ×1
algorithm ×1
binary-tree ×1
csr ×1
genealogy ×1
ms-access ×1
multi-user ×1
poco ×1
printing ×1
soap ×1
uac ×1
web-services ×1