我在c#和linq中退出了新的东西,我需要使用另一个项目中的类(在.c#中)填充一个ObjectDataSource(在vb.net中)。
我尝试过做这些事情:
1.添加参考文献
2.代码页面后面的“Imports Project2”
3.填写加载事件:
Dim ObjectClass1 As New Class1(ConnectionString)
myODS.TypeName = "ObjectClass1"
myODS.SelectMethod = "GetData"
myODS.SelectParameters("Filter1Name") = New Parameter("Filter1Name", DbType.String, "xxx")
另一个项目中的类看起来像这样:
public class Class1
{
public string ConnectionString { get; }
public Class1(string connectionString)
{
ConnectionString = connectionString;
}
public IQueryable<MyObject> GetData(string Filter1Name)
{
using (MyObjectDataContext dataContext = new MyObjectDataContext(ConnectionString))
{
var Result = dataContext.MyObject.Where(x => x.FILTER_1== Filter1Name).Select(x => new MyObject
{
Field1 = x.FIELD_1,
Field2 = x.FIELD_2
});
return Result;
}
}
}
这是我得到的错误: ObjectDataSource'myODS'找不到具有参数的非泛型方法'GetData':Filter1Name
这个错误意味着什么?是否有可能做我想做的事情?
答案 0 :(得分:0)
这意味着它无法在您的班级上找到名为GetInfo()
的方法
查看class1定义,您可能需要将其设为GetData
Dim ObjectClass1 As New Class1(ConnectionString)
myODS.TypeName = "ObjectClass1"
myODS.SelectMethod = "GetData"
myODS.SelectParameters("Filter1Name") = New Parameter("Filter1Name", DbType.String, "xxx")