小编Cod*_*und的帖子

将Env Conn字符串注入.NET Core 2.0 w/EF Core DbContext中的不同类lib比启动prj并实现IDesignTimeDbContextFactory

老实说,我不敢相信这有多难......首先是我要求的要求:

  • 实现实体框架Core 2.0' IDesignTimeDbContextFactory,IDbContextFactory被重命名为开发人员不会混淆它的作用
  • 我不想appsettings.json不止一次加载.一个原因是因为我的迁移是在域中运行的,MyClassLibrary.Data并且appsettings.js该类库中没有文件,我不得不这样做Copy to Output Directory appsettings.js.另一个原因是它不是很优雅.

所以这就是我目前的工作方式:

using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design;
using Microsoft.Extensions.Configuration;
using AppContext = Tsl.Example.Data.AppContext;

namespace Tsl.Example
{
    public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory<AppContext>
    {
        public AppContext CreateDbContext(string[] args)
        {
            string basePath = AppDomain.CurrentDomain.BaseDirectory;

            string envName = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");

            IConfigurationRoot configuration = new ConfigurationBuilder()
                .SetBasePath(basePath)
                .AddJsonFile("appsettings.json")
                .AddJsonFile($"appsettings.{envName}.json", true)
                .Build();

            var builder = new DbContextOptionsBuilder<AppContext>();

            var connectionString = configuration.GetConnectionString("DefaultConnection");

            builder.UseMySql(connectionString);

            return new AppContext(builder.Options);
        }
    } …
Run Code Online (Sandbox Code Playgroud)

.net c# entity-framework entity-framework-core .net-core

19
推荐指数
1
解决办法
4149
查看次数

什么是Automapper?

什么是Automapper?

它对我的域和控制器层(asp.net mvc)有什么帮助?

.net asp.net asp.net-mvc automapper

18
推荐指数
1
解决办法
1875
查看次数

全局禁用Entity框架中的动态代理

请问如何禁用在Entity Framework 5中创建的所有实体的动态代理.

目前,我espEntities.Configuration.ProxyCreationEnabled = false;在每个实例中设置这个 DbContext是否有一种方法可以将当前和未来模型作为一次性任务执行此操作.

谢谢

c# entity-framework

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

如何将UIImage数据复制到剪贴板/ UIPasteboard?我该如何测试呢?

我尝试使用以下代码将图像数据复制到UIPasteboard单击菜单中的复制项目.

UIPasteboard *gpBoard = [UIPasteboard generalPasteboard];
[[gpBoard setData:UIImageJPEGRepresentation(imgView.image, 1.0) forPasteboardType:UIPasteboardTypeListImage];
Run Code Online (Sandbox Code Playgroud)

我必须发送哪个参数forPasteboardType:以及复制数据后如何测试?

cocoa-touch copy-paste uipasteboard ios

13
推荐指数
1
解决办法
8468
查看次数

MySql实体框架6:数据库优先.如何创建课程?

到目前为止,我一直在使用EF6和Visual Studio,主要是代码优先,很少是数据库优先.

要导入一些测试数据,有人给了我与MySQL数据库的连接.在MySql Workbench中我可以查询数据,因此连接有效.

现在我想创建一个Entity Framework Database First项目并导入数据库模型.在Visual Studio中

  • 创建项目,
  • 添加nuget:Entity Framework最新版本(6.1.3)
  • 为EF 6添加nuget:MySql.Data.entities
  • 添加新项目

现在?有一个EF 6.X DbContext发生器,但是在我得到模型之前它不起作用

我可以做我通常做的事情:

  • 选择ADO.NET实体数据模型
  • 来自数据库的EF Designer
  • 现在?如何连接到MySql?

加成

Mehmet向我推荐了MySql EF6支持(感谢Mehmet),这是我用Google搜索时首先出现的页面.也许这是正确的方法,但我不明白它说的第一步:添加连接字符串并添加引用(= install nuget package?)我可以管理,但之后它对我来说都是希腊语:

  • 为MySql设置新的DbConfiguration类.新DbConfiguration课程?哪个DbConfiguration班?在哪里,以及如何为MySQL设置它?
  • 添加DbConfigurationTypeAttribute到DbContext.唉,我还没有得到DbContext的是,它不是第一个代码,但数据库首先:一些向导应该确定DbSets在DbContext我.

也许这就是要走的路,但这对我来说太过隐秘了.

mysql entity-framework ef-database-first

13
推荐指数
1
解决办法
6535
查看次数

C#通过反射将派生类转换为基类异常

我有一个使用反射动态创建类的应用程序.部署时,在将派生类强制转换为基类时会出现异常.它只发生在100台机器中的1台.所有类都在同一个程序集中.下面是一些代码片段,并在转换异常之前从日志消息中输出.我在我的智慧结束,任何帮助非常感谢.

//Parent class
namespace Framework.DataModel
{
    [Serializable]
    public class DataTreeRequest : TreeNode, IDirtyListener, ISerializable
    {
        ....
    }
}

// Derived Class    
namespace Framework.DataModel
{
    [Serializable]
    public class CADElementRequest : DataTreeRequest
    {
        public CADElementRequest(String name) : base(name){}
    }
}


// Method that uses reflection to create class and then cast to its base class
namespace Framework.DataModel
{
    [Serializable]
    public class DataModelBuilder : CoreBuilder
    {
        ...

        protected DataTreeRequest CreateDataTreeRequest(String asmName, String inName, String inType, String inSourceName)
        {
            DataTreeRequest dtr = null;

            Assembly …
Run Code Online (Sandbox Code Playgroud)

.net c#

12
推荐指数
1
解决办法
927
查看次数

Azure表存储 - 无法建立连接,因为目标计算机主动拒绝它127.0.0.1:10002

我正在开发一个ASP.Net MVC和WebApi站点,该站点在Windows 8上的Visual Studio 2015中使用表存储.它在开发环境中工作正常(当我UseDevelopmentStorage=true在web.config中设置时).我试图点击" http:// localhost:80 "我必须使用这个并且不能使用另一个端口,有我发布到我的网站的另一个程序,它只会发布到该位置.

我最近运行该站点并在我的代码到达以下代码行时出现以下错误: CloudTable table = cloudTableClient.GetTableReference(tableName);

错误:

无法建立连接,因为目标计算机主动拒绝它127.0.0.1:10002

我尝试过以下方法:

1)Uninstall-Package WindowsAzure.Storage -Version 6.1.0并从NuGet重新安装它

2)重新启动Windows

3)在这里浏览过的C:\Program Files\Microsoft SDKs\Azure\.NET SDK\v2.7\bin和ran cspack.ext(我看不到任何东西,这似乎涉及到存储)

它还没有运行.关于我可以尝试的任何想法?

更新:

收到上面的错误后,我打开了Cloud Explorer窗口,可以看到我在dev中使用我的代码在本地创建的表(假设这意味着我的本地存储模拟器正在运行),但我仍然遇到错误.然后我关上窗户再打开它.它在扩展"存储帐户(经典)"时稍微旋转,但最终显示了我创建的表格.

奇怪的是,"云资源管理器"窗口中唯一的节点是"存储帐户(经典)",我确信之前有其他节点的列表(即WebApps等).如果有人可以帮忙解决这个问题,请你可以逐步说明该做什么(不是"模拟器没有运行").这是新的,所以寻找简单的指示,我的理解.

非常感激.

c# asp.net azure azure-table-storage

10
推荐指数
1
解决办法
5604
查看次数

应用程序不自动创建AccountController

我在VS2017和VS2015中创建了一个MVC项目,当你创建一个MVC模板化的ASP.NET Web App时,它会自动为你构建一个帐户控制器,它增加了注册和登录功能.它将向具有适当视图的控制器添加AccountController.cs和ManageController.cs.

但是在VS2017中,当我创建一个MVC项目时,它不会将其添加到项目中.我尝试从旧的VS2015项目导入文件,但它似乎没有用.我怎么能绕过这个?有没有办法用帐户控制器创建项目,还是在VS2017中删除了?

asp.net-mvc visual-studio-templates asp.net-identity visual-studio-2017

10
推荐指数
1
解决办法
4654
查看次数

可以(或应该)2个docker容器通过localhost相互交互吗?

我们将微服务应用程序停靠,我遇到了一些发现问题.

该应用程序配置如下:

当服务以"非本地"模式启动时,它使用Consul作为其Discovery注册表.当服务以"本地"模式启动时,它会自动绑定每个服务的地址(例如,tcp:// localhost:61001,tcp:// localhost:61002等等.硬编码地址)

在对应用程序进行docker化之后(目前只针对本地模式)每个服务都是一个容器(Docker镜像用docker-compose编排.如果这很重要,还有docker-machine)但是一个服务不能与另一个服务交互,因为它们不是在同一台机器上,tcp:// localhost:61001显然不起作用.

使用带有链接的 docker-compose 并将localhost指定为别名(service:localhost)不起作用.2个容器是否有办法"共享"同一个本地主机?

如果没有,最好的方法是什么?我考虑过为每个服务使用特定的主机名,然后在docker-compose的links部分指定主机名.(但我怀疑这是优雅的解决方案)或者可能使用Consul的版本化的Consul并与之集成?

这篇文章:如何在两个不同的Docker容器之间共享localhost?提供了一些关于为什么不应该混淆localhost的见解 - 但我仍然对这里的正确方法感到困惑.

谢谢!

docker consul microservices docker-compose docker-networking

10
推荐指数
1
解决办法
2632
查看次数

在 Entity Framework Core 2.1 中为特定环境播种数据

我正在 EF Core 2.1 中使用新的播种数据方式,并且我只想为开发环境播种数据。

最初我尝试过这个:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    if (Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") != EnvironmentName.Development)
    {
        return;
    }

    modelBuilder.Entity<Customer>().HasData(new Customer { ... });
}
Run Code Online (Sandbox Code Playgroud)

但是,我注意到生成的迁移始终会将客户插入数据库中。

有没有办法根据环境限制数据种子?

c# entity-framework-core asp.net-core

9
推荐指数
1
解决办法
3796
查看次数