我有一个“Literal”类,用于定义文本值和ID。我想在Literal类(LINQ to SQL)中构建一个简单的“FromValue(string)”的静态方法,以便它从给定的值返回正确的Literal实例。
但是,我在弄清楚如何做到这一点时遇到了一些麻烦。我的意思是,我可以在每次需要时在代码中调用它,但是将它包装到类本身中会更加方便和节省时间。有什么想法吗?
using System;
using System.Linq;
namespace Context
{
public partial class Literal
{
public static Literal FromValue(string value)
{
// linq code, how do I reference the existing data context?
return null;
}
}
}
答案 0 :(得分:1)
什么是“现有数据上下文”?在调用FromValue
时,可能存在多个数据上下文,例如:
using (FooDataContext ctx1 = new FooDataContext())
using (FooDataContext ctx2 = new FooDataContext())
{
Literal.FromValue(...); // which one?
}
你必须将它作为参数传递,实际上没有更好的方法。
另请注意,您将无法在LINQ2SQL查询中使用FromLiteral
(因为查询解析器和翻译器不知道它的作用)。
答案 1 :(得分:0)
是的,好吧,我正在使用“FromLiteral”将它分配给它附加的Key。像这样......
unit.Ring.Keys.Add(new Key(Literal.FromValue("Name",database), item[0]));
其中'database'是datacontext的实例。我只是想看看是否有更好的方法来做到这一点。我想用字符串值来分配它们,你看,我不知道ID是否合适。