首页 / C# / C#映射两个复杂的对象
C#映射两个复杂的对象
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#映射两个复杂的对象,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2015字,纯文字阅读大概需要3分钟。
内容图文
我有四节课:
public class Customer
{
public string FirstName { get; set; }
public string LastName { get; set; }
public List<Product> Product { get; set; }
}
public class Product
{
public int ProductNumber { get; set; }
public string ProductColor { get; set; }
}
///////////////////////////////////////////////
public class Customer_
{
public string FirstName { get; set; }
public string LastName { get; set; }
public List<Article> Article { get; set; }
}
public class Article
{
public int ArticleNumber { get; set; }
public string ArticleColor { get; set; }
}
还有一个例子:
var Cus = new List<Customer>
{
new Customer()
{
FirstName = "FirstName1",
LastName = "LastName1",
Product = new List<Product>
{
new Product()
{
ProductColor = "ProductColor1",
ProductNumber = 11
}
}
},
new Customer()
{
FirstName = "FirstName2",
LastName = "LastName2",
Product = new List<Product>
{
new Product()
{
ProductColor = "ProductColor2",
ProductNumber = 12
}
}
}
};
我想创建一个新对象List< Customer_>与我的实例Cus的值.例如Customer.FirstName = Customer_.FirstName,Customer.Product.ProductColor = Customer_.Article.ArticleColor等
如何轻松完成这项工作,可以使用字典吗?
解决方法:
可以通过使用Interface来完成映射.
定义一个接口,提供逻辑命名属性的映射,例如您提到的常见颜色属性:
// Some entities have different named properties but can be joined
// using those properties. This interface shows a common color which
// when implemented will route the processing to a common shared property
// which reports and sets the associated color.
public interface IDefinedColor
{
string Color { get; set; }
}
如果必须为Product和Article创建部分类,并使它们遵守所述接口.提示如果使用实体映射器(如EF),这是使用partials进行此类maping的好方法.实现接口和挂钩的通用性:
// Holds the common properties for future processing.
public partial class Product : IDefinedColor
{
public string Color
{
get { return ProductColor; }
set { ProductColor = value; }
}
}
然后根据需要处理IDefinedColor映射实现.
通过使用接口,可以让所有未来的开发人员知道在属性中指定业务逻辑相等性的合同,并且它不会隐藏在其他连接类中.
内容总结
以上是互联网集市为您收集整理的C#映射两个复杂的对象全部内容,希望文章能够帮你解决C#映射两个复杂的对象所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。