老实说,我不敢相信这有多难......首先是我要求的要求:
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) 什么是Automapper?
它对我的域和控制器层(asp.net mvc)有什么帮助?
请问如何禁用在Entity Framework 5中创建的所有实体的动态代理.
目前,我espEntities.Configuration.ProxyCreationEnabled = false;在每个实例中设置这个 DbContext是否有一种方法可以将当前和未来模型作为一次性任务执行此操作.
谢谢
我尝试使用以下代码将图像数据复制到UIPasteboard单击菜单中的复制项目.
UIPasteboard *gpBoard = [UIPasteboard generalPasteboard];
[[gpBoard setData:UIImageJPEGRepresentation(imgView.image, 1.0) forPasteboardType:UIPasteboardTypeListImage];
Run Code Online (Sandbox Code Playgroud)
我必须发送哪个参数forPasteboardType:以及复制数据后如何测试?
到目前为止,我一直在使用EF6和Visual Studio,主要是代码优先,很少是数据库优先.
要导入一些测试数据,有人给了我与MySQL数据库的连接.在MySql Workbench中我可以查询数据,因此连接有效.
现在我想创建一个Entity Framework Database First项目并导入数据库模型.在Visual Studio中
现在?有一个EF 6.X DbContext发生器,但是在我得到模型之前它不起作用
我可以做我通常做的事情:
加成
Mehmet向我推荐了MySql EF6支持(感谢Mehmet),这是我用Google搜索时首先出现的页面.也许这是正确的方法,但我不明白它说的第一步:添加连接字符串并添加引用(= install nuget package?)我可以管理,但之后它对我来说都是希腊语:
DbConfiguration课程?哪个DbConfiguration班?在哪里,以及如何为MySQL设置它?DbConfigurationTypeAttribute到DbContext.唉,我还没有得到DbContext的是,它不是第一个代码,但数据库首先:一些向导应该确定DbSets在DbContext我.也许这就是要走的路,但这对我来说太过隐秘了.
我有一个使用反射动态创建类的应用程序.部署时,在将派生类强制转换为基类时会出现异常.它只发生在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) 我正在开发一个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等).如果有人可以帮忙解决这个问题,请你可以逐步说明该做什么(不是"模拟器没有运行").这是新的,所以寻找简单的指示,我的理解.
非常感激.
我在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
我们将微服务应用程序停靠,我遇到了一些发现问题.
该应用程序配置如下:
当服务以"非本地"模式启动时,它使用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
我正在 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# ×5
.net ×3
asp.net ×2
asp.net-mvc ×2
.net-core ×1
asp.net-core ×1
automapper ×1
azure ×1
cocoa-touch ×1
consul ×1
copy-paste ×1
docker ×1
ios ×1
mysql ×1
uipasteboard ×1