有人能够揭示新发布的Windows ServiceBus(内部部署,而不是Azure)和NServiceBus之间的差异吗?
正在寻找详细解答Windows SB可能缺失的内容,因为我很熟悉NSErviceBus可以做什么:
问题 似乎条件被忽略了.这是我的场景:
来源类
public class Source
{
public IEnumerable<Enum1> Prop1{ get; set; }
public IEnumerable<Enum2> Prop2{ get; set; }
public IEnumerable<Enum3> Prop3{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)
enums是一个字节的子类,用[Flags]修饰.目标类只包含Enum1,Enum2和Enum3等属性,其中包含"total"按位值.因此,如果Enumeration包含Enum1.value!,Enum1.Value2和Enum1.Value3,则在本构中,目标将包含Enum1.Value1的按位值.Enum1.Value2 | Enum1.Value3
目的地类
public Enum1 Prop1 { get; set; }
public Enum2 Prop2 { get; set; }
public Enum3 Prop3 { get; set; }
Run Code Online (Sandbox Code Playgroud)
AutoMapper映射
Mapper.CreateMap<Source, Destination>()
.ForMember(m => m.Prop1, o =>
{
o.Condition(c => !c.IsSourceValueNull);
o.MapFrom(f => f.Prop1.Aggregate((current, next) => current | next));
})
.ForMember(m => m.Prop2, o =>
{
o.Condition(c => …
Run Code Online (Sandbox Code Playgroud) 背景 我在我安装.Net 4.5的机器上使用VS 2010,我读过这是一个就地安装(覆盖了.net 4.0版本).
我的项目仍然针对4.0和4.5选项不可用,但被告知它没关系,因为4.5是就地安装.然后,当我运行Upgrade-Database -Script命令时,我通过nuget和通知安装了EntityFramework -pre,它不会生成枚举属性.
然后我找到了这个.我尝试从头再做一切,但它仍然添加EntityFramework 4.4而不是5.0.所以我手动更改所有引用指向5.0版本以确保我有EF 5.0版本.全部编译.
问题 我跑的时候
Enable-Migrations -EnableAutomaticMigrations
Run Code Online (Sandbox Code Playgroud)
我得到" 没有从当前项目中找到的DbContext派生的类.编辑生成的Configuration类以指定启用迁移的上下文. "
所以我手动确保我的班级是正确的,如:
internal sealed class Configuration : DbMigrationsConfiguration<DataContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
Run Code Online (Sandbox Code Playgroud)
DataContext子类DbContext.
我跑的时候
Update-Database -Script
Run Code Online (Sandbox Code Playgroud)
我得到" 在程序集'MyProject'中找不到迁移配置类型.(在Visual Studio中,您可以使用Package Manager控制台中的Enable-Migrations命令添加迁移配置). "
MyProject确实有我上面提到的配置类,在Package Manager Console中我选择了包含Migrations文件夹和此Configuration类的项目的右下拉列表.
题
我该怎么做以确保当我通过nuget安装EnittyFramework它添加5.0版本而不是4.4时,即使我安装了.Net 4.5?
如果我无法执行与上述问题相关的任何操作,我该怎么做才能确保Upgrade-Database吐出脚本?