用另一个项目中的类填充对象数据源

时间:2017-10-10 22:12:24

标签: c# vb.net linq objectdatasource

我在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")
  1. 另一个项目中的类看起来像这样:

    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;
              }
            }
        }
    
  2. 这是我得到的错误: ObjectDataSource'myODS'找不到具有参数的非泛型方法'GetData':Filter1Name

    这个错误意味着什么?是否有可能做我想做的事情?

1 个答案:

答案 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")