c# – 如何在不必每次生成代码时进行更改的情况下扩展LINQ-to-SQ
发布时间:2020-12-15 19:49:32 所属栏目:百科 来源:网络整理
导读:评论更新: 我需要通过自己的参数扩展linq-to-sql类,并且不想触及任何生成的类.欢迎任何更好的建议.但是如果linq-to-sql类正在改变,我也不想再次进行所有属性赋值.因此,如果vstudio为类生成新属性,我将自己的扩展属性保持独立,并且新的内部来自类本身 原始问
评论更新:
我需要通过自己的参数扩展linq-to-sql类,并且不想触及任何生成的类.欢迎任何更好的建议.但是如果linq-to-sql类正在改变,我也不想再次进行所有属性赋值.因此,如果vstudio为类生成新属性,我将自己的扩展属性保持独立,并且新的内部来自类本身 原始问题: 我不确定是否可能. 如何在不分配全部的情况下将任何汽车对象投射到mycar对象上 Car car = new Car(); MyCar mcar = (MyCar) car; 要么 MyCar mcar = new MyCar(car); 或者我可以用自己的变量扩展汽车,而不必总是这样做 Car car = new Car(); MyCar mcar = new MyCar(); mcar.name = car.name; mcar.xyz = car.xyz; ... 谢谢. 解决方法
在回答您对该问题的评论时,Linq-To-Sql类将生成为partial.这意味着您可以使用声明为partial的相同类名的单独代码文件来添加所需的额外属性.
例如.您的Ling-To-Sql设计器类将是: public partial class Car { .... lots of auto generated stuff .... } 您可以拥有一个名为Car.cs的独立文件(在同一个项目中): public partial class Car { public MyCustomStuff{ get; set; } } 这两个类将合并在一起.只需确保它们位于同一名称空间中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |