相信代码为:
public class PestInfoService : IPestInfoService
{
public void DoWork()
{
}
#region
PestInfoDataContext PestDataContext = new PestInfoDataContext();
public class ImagoSurvey
{
public int imagoSurveyID { get; set; }
public decimal Longitude { get; set; }
public decimal Latitude { get; set; }
public int totalWaspNum { get; set; }
}
public List<ImagoSurvey> GetImagoSurveys()
{
PestInfoDataContext PestDataContext = new PestInfoDataContext();
var imagoData = from m in PestDataContext.ImagoSurvey
join n in PestDataContext.MonitoringPoint on m.MonitoringPointID equals n.MonitoringPointID
select new ImagoSurvey
{
Longitude= n.Longitude,
Latitude= n.Latitude,
totalWaspNum= m.TotalWaspNum
};
return imagoData.ToList();
}
#endregion
}
谢谢大家能给我指点一下!
7 个解决方案
#1
PestInfoService实现的GetImagoSurveys和 IPestInfoService中如何定义的GetImagoSurveys返回值不同。
#2
ImagoSurvey怎么定义在PestInfoService里了。
#3
我也觉得你定义了多个ImagoSurvey,把PestInfoService 内的ImagoSurvey删掉试一试。
下面的代码在我这里没有编译错误。
接口
实现:
下面的代码在我这里没有编译错误。
接口
namespace WcfService1
{
public class ImagoSurvey
{
public int imagoSurveyID { get; set; }
public decimal Longitude { get; set; }
public decimal Latitude { get; set; }
public int totalWaspNum { get; set; }
}
// NOTE: If you change the interface name "IService1" here, you must also update the reference to "IService1" in Web.config.
[ServiceContract]
public interface IService1
{
[OperationContract]
void DoWork();
[OperationContract]
List<ImagoSurvey> GetImagoSurveys();
}
}
实现:
namespace WcfService1
{
public class Service1 : IService1
{
public void DoWork()
{
}
public List<ImagoSurvey> GetImagoSurveys()
{
return new List<ImagoSurvey>(){new ImagoSurvey(), new ImagoSurvey()};
}
}
}
#4
灰常感谢!我按照你的代码,重新生成了一遍,出现了这个错误:类型“ImagoSurvey”的声明上缺少 partial 修饰符;存在此类型的其他分部声明,改为如下代码就编译通过了,
partial class ImagoSurvey
{
public int imagoSurveyID { get; set; }
public decimal Longitude { get; set; }
public decimal Latitude { get; set; }
public int totalWaspNum { get; set; }
}
,ImagoSurvey这变成局部类,到时候对数据库的访问时,会不会遇到其他的问题(ImagoSurvey
是数据库中一张表映射的实体类)。
partial class ImagoSurvey
{
public int imagoSurveyID { get; set; }
public decimal Longitude { get; set; }
public decimal Latitude { get; set; }
public int totalWaspNum { get; set; }
}
,ImagoSurvey这变成局部类,到时候对数据库的访问时,会不会遇到其他的问题(ImagoSurvey
是数据库中一张表映射的实体类)。
#5
我觉得你还是删除ImagoSurvey好一点,看起来你使用的EntityFramework已经生成这个类了。
#6
1:这是一个文件
[ServiceContract]
interface IPestInfoService
{
[OperationContract]
List<ImagoSurvey> GetImagoSurveys();
}
public class ImagoSurvey
{
public int imagoSurveyID { get; set; }
public decimal Longitude { get; set; }
public decimal Latitude { get; set; }
public int totalWaspNum { get; set; }
}
2:这个实现部分,也是一个文件
class PestInfoService :IPestInfoService
{
public List<ImagoSurvey> GetImagoSurveys()
{
PestInfoDataContext PestDataContext = new PestInfoDataContext();
var imagoData = from m in PestDataContext.ImagoSurvey
join n in PestDataContext.MonitoringPoint on m.MonitoringPointID equals n.MonitoringPointID
select new ImagoSurvey
{
Longitude = n.Longitude,
Latitude = n.Latitude,
totalWaspNum = m.TotalWaspNum
};
}
#7
可能参数不对呀,建议跟踪测试一下吧
#1
PestInfoService实现的GetImagoSurveys和 IPestInfoService中如何定义的GetImagoSurveys返回值不同。
#2
ImagoSurvey怎么定义在PestInfoService里了。
#3
我也觉得你定义了多个ImagoSurvey,把PestInfoService 内的ImagoSurvey删掉试一试。
下面的代码在我这里没有编译错误。
接口
实现:
下面的代码在我这里没有编译错误。
接口
namespace WcfService1
{
public class ImagoSurvey
{
public int imagoSurveyID { get; set; }
public decimal Longitude { get; set; }
public decimal Latitude { get; set; }
public int totalWaspNum { get; set; }
}
// NOTE: If you change the interface name "IService1" here, you must also update the reference to "IService1" in Web.config.
[ServiceContract]
public interface IService1
{
[OperationContract]
void DoWork();
[OperationContract]
List<ImagoSurvey> GetImagoSurveys();
}
}
实现:
namespace WcfService1
{
public class Service1 : IService1
{
public void DoWork()
{
}
public List<ImagoSurvey> GetImagoSurveys()
{
return new List<ImagoSurvey>(){new ImagoSurvey(), new ImagoSurvey()};
}
}
}
#4
灰常感谢!我按照你的代码,重新生成了一遍,出现了这个错误:类型“ImagoSurvey”的声明上缺少 partial 修饰符;存在此类型的其他分部声明,改为如下代码就编译通过了,
partial class ImagoSurvey
{
public int imagoSurveyID { get; set; }
public decimal Longitude { get; set; }
public decimal Latitude { get; set; }
public int totalWaspNum { get; set; }
}
,ImagoSurvey这变成局部类,到时候对数据库的访问时,会不会遇到其他的问题(ImagoSurvey
是数据库中一张表映射的实体类)。
partial class ImagoSurvey
{
public int imagoSurveyID { get; set; }
public decimal Longitude { get; set; }
public decimal Latitude { get; set; }
public int totalWaspNum { get; set; }
}
,ImagoSurvey这变成局部类,到时候对数据库的访问时,会不会遇到其他的问题(ImagoSurvey
是数据库中一张表映射的实体类)。
#5
我觉得你还是删除ImagoSurvey好一点,看起来你使用的EntityFramework已经生成这个类了。
#6
1:这是一个文件
[ServiceContract]
interface IPestInfoService
{
[OperationContract]
List<ImagoSurvey> GetImagoSurveys();
}
public class ImagoSurvey
{
public int imagoSurveyID { get; set; }
public decimal Longitude { get; set; }
public decimal Latitude { get; set; }
public int totalWaspNum { get; set; }
}
2:这个实现部分,也是一个文件
class PestInfoService :IPestInfoService
{
public List<ImagoSurvey> GetImagoSurveys()
{
PestInfoDataContext PestDataContext = new PestInfoDataContext();
var imagoData = from m in PestDataContext.ImagoSurvey
join n in PestDataContext.MonitoringPoint on m.MonitoringPointID equals n.MonitoringPointID
select new ImagoSurvey
{
Longitude = n.Longitude,
Latitude = n.Latitude,
totalWaspNum = m.TotalWaspNum
};
}
#7
可能参数不对呀,建议跟踪测试一下吧