Azure移动应用程序-使用实体数据模型类的表控制器
本文关键字:数据模型 控制器 实体 移动 应用程序 Azure | 更新日期: 2023-09-27 17:51:04
我有一个Azure移动应用程序项目,默认创建TodoItem表控制器。我还有一个使用EF6实体数据模型的DAL项目,这是在我的其他ASP中提到的。. Net MVC项目。
我希望在我的应用程序项目中使用相同的DAL项目,而不是重新定义每个实体。我理解,对于表控制器,这些实体需要从EntityData派生。而DAL项目中的则不是,例如如下
namespace DAL.Model
{
using System;
using System.Collections.Generic;
public partial class TodoItem
{
public System.Guid Id { get; set; }
public string Text { get; set; }
public Nullable<bool> Complete { get; set; }
}
}
我知道我可以使用API控制器继承DAL项目,但想检查在这种情况下使用TableController的可能性。
您可以按照下面的示例做。它有一个现有的模型,并使用dto来创建一个具有EntityData
继承的"移动"版本。
然后您可以在您的DAL项目项和您的移动项目之间创建映射。
例如:Mapper.Initialize(cfg =>
{
cfg.CreateMap<MobileOrder, Order>();
cfg.CreateMap<MobileCustomer, Customer>();
cfg.CreateMap<Order, MobileOrder>()
.ForMember(dst => dst.MobileCustomerId, map => map.MapFrom(x => x.Customer.Id))
.ForMember(dst => dst.MobileCustomerName, map => map.MapFrom(x => x.Customer.Name));
cfg.CreateMap<Customer, MobileCustomer>();
});
然后创建一个域管理器来管理两者之间的逻辑,并使用它来为您的移动服务创建您的表控制器。