我在使用EF5的4名开发人员的团队中工作,每个人都在自己的本地数据库上工作.到目前为止,我们一直在使用自动迁移,但我们已接近需要发布到生产的位置,因此我们已禁用自动迁移并开始添加基于代码的显式迁移.
这是问题所在:我在Update-Database开发人员创建新的显式迁移后运行命令,并且出现以下错误:
Applying code-based migrations: [201209080142319_CreatedDate.LastModifiedDate.Additions].
Applying code-based migration: 201209080142319_CreatedDate.LastModifiedDate.Additions.
Applying automatic migration: 201209080142319_CreatedDate.LastModifiedDate.Additions_AutomaticMigration.
Automatic migration was not applied because it would result in data loss.
Run Code Online (Sandbox Code Playgroud)
即使我已禁用自动迁移,为什么会出现此错误?我可以通过删除显式迁移然后重新构建它(运行Add-Migration)来修复此错误.然后Update-Database运行正常并且没有提到任何关于"自动迁移..."的信息.此外,我运行Add-Migration时创建的迁移中的代码与我的队友创建的代码相同.我不明白为什么它甚至会尝试自动迁移AutomaticMigrationsEnabled = false;.
我在这里错过了什么?
我有一个客户使用以下代码在PHP中加密字符串:
$password = 'Ty63rs4aVqcnh2vUqRJTbNT26caRZJ';
$method = 'AES-256-CBC';
texteACrypter = 'Whether you think you can, or you think you can\'t--you\'re right. - Henry Ford';
$encrypted = openssl_encrypt($texteACrypter, $method, $password);
Run Code Online (Sandbox Code Playgroud)
这导致这个加密输出: MzVWX4tH4yZWc/w75zUagUMEsP34ywSYISsIIS9fj0W3Q/lR0hBrHmdvMOt106PlKhN/1zXFBPbyKmI6nWC5BN54GuGFSjkxfuansJkfoi0=
当我尝试在C#中解密该字符串时,它给了我一堆像这样的垃圾: Z?o?}'*2??I4y?J6S??
??xz???{9^?ED?fF
?}???s?)?Q???i??$)?
我尝试使用AesManaged而不是RijndaelManaged更改填充,更改密钥大小,使用不同的密钥等.所有这些都会导致不同的垃圾字符串或各种异常.我必须在这里遗漏一些非常基本的东西但是我不确定在这一点上还有什么可以尝试的.
这是我的解密代码(我无耻地从另一个stackoverflow问题复制:openssl只使用.NET类)
class Program
{
//https://stackoverflow.com/questions/5452422/openssl-using-only-net-classes
static void Main(string[] args)
{
var secret = "Ty63rs4aVqcnh2vUqRJTbNT26caRZJ";
var encrypted = "MzVWX4tH4yZWc/w75zUagUMEsP34ywSYISsIIS9fj0W3Q/lR0hBrHmdvMOt106PlKhN/1zXFBPbyKmI6nWC5BN54GuGFSjkxfuansJkfoi0=";
var yeah = OpenSSLDecrypt(encrypted, secret);
Console.WriteLine(yeah);
Console.ReadKey();
}
public static string OpenSSLDecrypt(string encrypted, string passphrase)
{
// base 64 decode
byte[] encryptedBytesWithSalt = Convert.FromBase64String(encrypted);
// …Run Code Online (Sandbox Code Playgroud) 假设我在以下两个文件中有以下代码:
ClassA.ts
module App {
class ClassA{
}
}
Run Code Online (Sandbox Code Playgroud)
ClassB.ts
module App {
export class ClassB{
constructor(public ClassA) {}
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法让classB可以访问classB 而无需添加export到ClassA?换句话说,我希望ClassA只能在App模块中访问,但我也希望将我的类保存在单独的文件中.
即使将编译输出到单个文件,ClassA也无法在不导出的情况下访问ClassB.