使用您的asp.net项目部署的UI项目(特别是EF:EntityFramework.SqlServer.dll的sql服务器驱动程序)部署实体框架是否有更优雅的方式,而不是通过NuGet添加对EF的引用UI项目?
在这个堆栈溢出问题中,发布的答案是在我的asp.net项目中创建一个不需要的代码行,只是为了在部署我的asp.net应用程序时复制依赖文件:
我不认为我应该添加未使用的代码以部署依赖项.我也不应该在我的UI项目中添加对EF的引用.
据我所知,EF文件(EntityFramework.SqlServer.dll)在运行时被注入到实体框架中.是的 - 我的asp.net项目配置正确 - 如果它具有对EF或dll EntityFramework.SqlServer.dll的nuget引用,它运行良好.
但是:我不想在我的asp.net mvc项目中添加对实体框架的引用,只是为了部署这个文件.我不想添加对我的DAL项目bin文件夹中的文件的引用,这个文件非常脆弱.我可以在asp.net mvc项目中添加一个post build事件,但这似乎也很脆弱.
在MSTest项目中,我们可以添加[DeploymentItem ...]属性来部署这些类型的依赖项.在asp.net中是否有一个等价物,也许你可以把它放在web.config中.
我想如果我可以在web.config中配置引用实体框架使用的sql提供程序:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
Run Code Online (Sandbox Code Playgroud)
你也可以配置dll进行部署!
2/13编辑
我正在使用visual studio 2013和EF 6.
有几个人问我为什么关心,为什么我不只是使用NuGet来管理它,并使用NuGet将实体框架引用添加到我的UI项目中.
2个理由:
我的用户界面不应该知道我的ORM是什么!并且不应该在我的UI项目中需要项目引用它.
更重要的是,我管理着一支具有不同技能水平的开发团队,在岸和离岸.我不希望其中一个在UI中意外使用EF类.在UI项目中引用EF可以很容易地让VS或Resharper在"使用System.Data.Entity;"中滑动.然后你在你的UI项目中使用你的ORM.
我们想为每个实体创建一个历史表.在给定现有实体的情况下,有没有办法让实体框架自动创建历史实体/表?
例如,Customer实体将具有一个名为的影子历史记录表CustomerHistory.只要有编辑或删除,旧记录就会插入到历史记录表中.主实体表将始终包含当前记录.
由于我们有几个实体,我宁愿不必为每个实体创建一个单独的历史实体和存储库,从而使实体加倍.
我们希望为所有实体执行此操作,以跟踪实体的事务和状态时间更改.
我们使用工作单元和存储库模式.
假设实体和EntityHistory对象的属性是相同的,尽管我们可能希望使用某些日期时间属性扩展历史对象.
我理解如何覆盖DbContext.SaveChanges以写入历史/审计表.
我想避免做的是必须为我们拥有的每个实体创建重复的历史实体/存储库.
我目前正在探索OnModelCreating为每个实体创建历史实体,但没有找到一个好的例子.
有任何想法吗?
全部,我在尝试使用我的智能卡登录到超级客户时遇到错误:"智能卡需要此系统上没有的驱动程序."
有任何想法吗?
我正在尝试在Hyper-V来宾上使用我的智能卡 - 运行Windows 8.1 -Microsoft映像 - 加入域 - 我在设备管理器中看不到智能卡读卡器,但不确定我是否应该在Hyper-V中使用客人
使用主机 - 运行8.1 - 不加入域 - 带集成读卡器 - 启用TPM - 智能卡读卡器出现在设备管理器中并具有最新驱动程序 - 插入时智能卡出现在设备管理器中 - 连接有线局域网
使用连接(rdp) - 启用了智能卡选项(已选中)
我尝试过外部USB读卡器并得到相同的结果.我的卡适用于非Hyper-V来宾的其他计算机.我尝试从客户安装联想的智能卡驱动程序,这没有帮助.我搜索了ITWEB并找到了解决方案但找不到解决方案.
任何人都有任何想法,我可以做些什么来使这个工作?
有没有人有一个从.net/C#调用Marketo Rest API的例子.
我对oauth认证片特别感兴趣. http://developers.marketo.com/documentation/rest/authentication/
我计划将这个端点称为 http://developers.marketo.com/documentation/rest/get-multiple-leads-by-list-id/
我在互联网上找不到任何例子.
asp.net ×1
asp.net-mvc ×1
c# ×1
hyper-v ×1
marketo ×1
oauth-2.0 ×1
rest ×1
smartcard ×1
windows-8.1 ×1