【发布时间】:2010-04-22 20:09:58
【问题描述】:
所以我正在冒险进入 Linq 和 WCF Web 服务的世界,但我似乎无法让魔法发生。我有一个非常基本的 WCF Web 服务,我可以让我的旧 SqlConnection 调用工作并返回一个 DataSet。但我不能/不知道如何让 Linq to SQL 查询工作。我猜这可能是权限问题,因为我需要使用一组特定的凭据连接到 SQL 数据库,但我不知道如何测试这是否是问题所在。我已经尝试使用这两个连接字符串,但似乎都没有给我不同的结果。
<add name="GeoDataConnectionString" connectionString="Data Source=SQLSERVER;Initial Catalog=GeoData;Integrated Security=True"
providerName="System.Data.SqlClient" />
<add name="GeoDataConnectionString" connectionString="Data Source=SQLSERVER;Initial Catalog=GeoData;User ID=domain\userName; Password=blahblah; Trusted_Connection=true"
providerName="System.Data.SqlClient" />
这是我的服务中执行查询的函数,我有接口添加[OperationContract]
public string GetCity(int cityId)
{
GeoDataContext db = new GeoDataContext();
var city = from c in db.Cities
where c.CITY_ID == 30429
select c.DESCRIPTION;
return city.ToString();
}
GeoData.dbml 中只有一个简单的表,其中包含城市 ID 和城市名称的列表。我还将 DataContext 上的“序列化模式”更改为“单向”,据我所知,这需要为 WCF 完成。
当我运行服务时,我得到这个作为返回:SELECT [t0].[DESCRIPTION] FROM [dbo].[Cities] AS [t0] WHERE [t0].[CITY_ID] = @p0
Dang,所以当我写这篇文章时,我意识到也许我的查询都搞砸了?
【问题讨论】:
标签: asp.net wcf linq-to-sql