小编Cam*_*ron的帖子

为什么我必须在我的UI项目中引用EF?

使用您的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个理由:

  1. 我的用户界面不应该知道我的ORM是什么!并且不应该在我的UI项目中需要项目引用它.

  2. 更重要的是,我管理着一支具有不同技能水平的开发团队,在岸和离岸.我不希望其中一个在UI中意外使用EF类.在UI项目中引用EF可以很容易地让VS或Resharper在"使用System.Data.Entity;"中滑动.然后你在你的UI项目中使用你的ORM.

asp.net asp.net-mvc entity-framework

9
推荐指数
2
解决办法
2738
查看次数

实体框架为实体创建历史表

我们想为每个实体创建一个历史表.在给定现有实体的情况下,有没有办法让实体框架自动创建历史实体/表?

例如,Customer实体将具有一个名为的影子历史记录表CustomerHistory.只要有编辑或删除,旧记录就会插入到历史记录表中.主实体表将始终包含当前记录.

由于我们有几个实体,我宁愿不必为每个实体创建一个单独的历史实体和存储库,从而使实体加倍.

我们希望为所有实体执行此操作,以跟踪实体的事务和状态时间更改.

我们使用工作单元和存储库模式.

假设实体和EntityHistory对象的属性是相同的,尽管我们可能希望使用某些日期时间属性扩展历史对象.

我理解如何覆盖DbContext.SaveChanges以写入历史/审计表.

我想避免做的是必须为我们拥有的每个实体创建重复的历史实体/存储库.

我目前正在探索OnModelCreating为每个实体创建历史实体,但没有找到一个好的例子.

有任何想法吗?

entity-framework-4

8
推荐指数
0
解决办法
2221
查看次数

获取错误:智能卡需要此系统上不存在的驱动程序

全部,我在尝试使用我的智能卡登录到超级客户时遇到错误:"智能卡需要此系统上没有的驱动程序."

有任何想法吗?

我正在尝试在Hyper-V来宾上使用我的智能卡 - 运行Windows 8.1 -Microsoft映像 - 加入域 - 我在设备管理器中看不到智能卡读卡器,但不确定我是否应该在Hyper-V中使用客人

使用主机 - 运行8.1 - 不加入域 - 带集成读卡器 - 启用TPM - 智能卡读卡器出现在设备管理器中并具有最新驱动程序 - 插入时智能卡出现在设备管理器中 - 连接有线局域网

使用连接(rdp) - 启用了智能卡选项(已选中)

我尝试过外部USB读卡器并得到相同的结果.我的卡适用于非Hyper-V来宾的其他计算机.我尝试从客户安装联想的智能卡驱动程序,这没有帮助.我搜索了ITWEB并找到了解决方案但找不到解决方案.

任何人都有任何想法,我可以做些什么来使这个工作?

hyper-v smartcard windows-8.1

6
推荐指数
1
解决办法
2万
查看次数

在.net/c#中调用Marketo Rest Api的示例代码

有没有人有一个从.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/

我在互联网上找不到任何例子.

c# rest oauth-2.0 marketo

6
推荐指数
1
解决办法
3487
查看次数