在我的项目中,我有一个名为Product的实体,其中包含属性Price 我需要计算每个产品的税,所以我做了一个模型定义函数,就像在本教程中一样 http://blogs.msdn.com/b/efdesign/archive/2009/01/07/model-defined-functions.aspx
一切正常,Generated SQL很干净,但我遇到了问题。
我需要为刚刚制作的实体(产品对象未存储在数据库中)获得税收。 是否可以为这样的对象使用模型定义函数? 如果没有,我如何使用linq和纯C#代码中的相同方法计算税收方法?
提前感谢。
答案 0 :(得分:1)
我要做的是在SQL Server中创建一个用户定义的函数,使用它来填充计算列,然后从应用程序中调用它来填充新创建的对象的tax
值。
不幸的是,上次我检查时,在EF4中调用UDF相当笨拙,所以我所做的,我知道这不是世界上最干净的东西,是添加一个LINQ-to-SQL数据上下文,添加UDF到那个,然后只是从那里调用UDF,好像它是一个C#方法。
为了让事情变得更清洁,我再向上一步并将相同的方法定义添加到我的EF4 ObjectContext(手动,通过部分类),然后在我的EF上下文中调用该方法,然后调用该方法L2S上下文的一个实例。
我知道它看起来很多,但在实践中它并没有太糟糕。在EF4中调用UDF是一件不像L2S那样方便的事情。