小编Jam*_*ndy的帖子

T4代:VsNamespaceSuggestion()从哪里拉?

有人知道,在.tt文件中,code.VsNamespaceSuggestion()从哪里获取其命名空间?

我遇到了一个问题,我必须更改解决方案的命名空间,我发誓我已经改变了它(文件夹名称,文件名,项目名称,项目属性,程序集信息等).但是当.tt文件运行时,它总是将旧命名空间放回其生成的类中.我被告知它来自EF模型,但我没有看到任何显示命名空间(在设计器/属性中或通过在NotePad中打开.edmx文件).

有什么想法吗?对于hack,我只是在下一行中使用我想要的命名空间覆盖它:

string namespaceName = code.VsNamespaceSuggestion();
namespaceName = "Desired.Namespace"; //HACK:
Run Code Online (Sandbox Code Playgroud)

c# t4 code-generation entity-framework

24
推荐指数
1
解决办法
3790
查看次数

使用DbMigrationsConfiguration将SetExecutionStrategy设置为SqlAzureExecutionStrategy?

我今天看到一篇关于实现SqlAzureExecutionStrategy的帖子:

http://romiller.com/tag/sqlazureexecutionstrategy/

但是,我能找到的所有示例都使用从DbConfiguration继承的Configuration.我的项目使用的是EF6 Code First Migrations,它创建的Configuration继承自DbMigrationsConfiguration.此类不包含SetExecutionStrategy的定义,我找不到实际将SqlAzureExecutionStrategy(或任何SetExecutionStrategy)与DbMigrationsConfiguration结合使用的示例.

可以这样做吗?

entity-framework ef-migrations entity-framework-6.1 azure-sql-database

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

EF6代码迁移 - 数据库是不同的,但是相同

很抱歉发布这样的一般性问题,但是对于多种情况可能有多个答案(我可能需要在得到答案之前重新创建数据库),所以这里是:

我们有一个使用EF6的C#项目,已成功使用EF Migrations数月.今天早上,当我尝试运行我的项目时,我得到了这个非常熟悉的错误:

System.Data.Entity.Migrations.Infrastructure.AutomaticMigrationsDisabledException'发生在EntityFramework.dll中但未在用户代码中处理

附加信息:无法更新数据库以匹配当前模型,因为存在挂起的更改并且已禁用自动迁移.将挂起的模型更改写入基于代码的迁移或启用自动迁移.将DbMigrationsConfiguration.AutomaticMigrationsEnabled设置为true以启用自动迁移.

除了我找不到任何改变的证据.

  • 数据库的__MigrationHistory表与项目中的迁移相匹配.
  • 如果我执行"添加迁移",它会出现空的Up&Down方法.
  • 我们从几个晚上(当我们知道它工作时)将数据库恢复到临时数据库并进行比较,并且没有发现结构变化.
  • 我甚至尝试在空迁移上运行"update-database",这有效,但错误仍然存​​在.

有关这种情况如何发生的任何想法?

c# entity-framework ef-migrations

3
推荐指数
1
解决办法
3603
查看次数

Serilog.Sinks.Email - 没有失败迹象?

我一直在使用 Serilog.Sinks.Email,我注意到(除了我没有收到电子邮件这一事实之外),当我执行 Log 语句时,没有任何异常或任何指示失败的情况。即使我为 MailServer 添加了垃圾,Log 语句也会像成功执行一样执行。

我已经尝试过 SelfLog 语句,但在“输出”窗口中看不到任何内容。

Serilog.Debugging.SelfLog.Enable(msg => Debug.WriteLine(msg));
Run Code Online (Sandbox Code Playgroud)

我添加了 SymbolSource ( http://www.symbolsource.org/Public/Wiki/Using ),并且能够单步执行 Serilog 的代码,但再一次没有捕获到任何异常。

Serilog 真的没有给出任何错误指示,还是我遗漏了一些东西?

使用:.NET Framework 4.6.2、Serilog 2.8、Serilog.Sinks.Email 2.3

示例代码:

Log.Logger = new LoggerConfiguration()
    .WriteTo.Email(new EmailConnectionInfo
    {
        FromEmail = "xxx",
        ToEmail = "xxx",
        MailServer = "smtp.xxx.com",
        EmailSubject = "My Test"
    }
    ).CreateLogger();

Log.ForContext<Program>().Error("Test Number {Parm}", "1");
Run Code Online (Sandbox Code Playgroud)

serilog

3
推荐指数
1
解决办法
3482
查看次数