我以前是否在使用Silverlight和RIA,我使用的是ADO.NET實體數據模型和域上下文。我正在教自己如何從RIA運行一個存儲過程,並且無法使它與之前的設置一起工作,因此我開始嘗試使用LINQ to SQL方法。我做了以下內容:Linq to SQL vs實體數據模型:獲取存儲過程運行
- 新增的DBML
- 拖動和放棄我的表和示例存儲過程
- 保存的DBML和建成並重建解決方案和項目文件。
- 創建一個域服務並嘗試添加dbml。
這裏是我的DBML
這是我的錯誤。 可用的DataContext/ObjectContext類列表顯示爲空。我已經重建了很多次,甚至重新開始了視覺工作室。
因此,這裏是我的問題:
- 有沒有一種簡單的方法做ADO.Net我失蹤therfore我可以跳過添加LINQtoSQL類存儲過程。
- 我錯過了一些非常簡單的方法來添加dbml類並添加一個存儲過程。
CODE
ZipCodeDataClasses.dbml.layout
<?xml version="1.0" encoding="utf-8"?>
<ordesignerObjectsDiagram dslVersion="1.0.0.0" absoluteBounds="0, 0, 11, 8.5" name="ZipCodeDataClasses">
<DataContextMoniker Name="/ZipCodeDataClassesDataContext" />
<nestedChildShapes>
<classShape Id="de7acfae-754b-4577-b227-3a33198fdc95" absoluteBounds="7.125, 2.375, 2, 1.3862939453125">
<DataClassMoniker Name="/ZipCodeDataClassesDataContext/ZipCode" />
<nestedChildShapes>
<elementListCompartment Id="8744ad5e-7b77-4770-911d-6dc963876e40" absoluteBounds="7.14, 2.835, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
</nestedChildShapes>
</classShape>
</nestedChildShapes>
</ordesignerObjectsDiagram>
ZipCodeDataClasses.designer.cs
#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.1
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace StoredProcedureTest.Web
{
using System.Data.Linq;
using System.Data.Linq.Mapping;
using System.Data;
using System.Collections.Generic;
using System.Reflection;
using System.Linq;
using System.Linq.Expressions;
using System.ComponentModel;
using System;
[global::System.Data.Linq.Mapping.DatabaseAttribute(Name="ZIPCODES")]
public partial class ZipCodeDataClassesDataContext : System.Data.Linq.DataContext
{
private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();
#region Extensibility Method Definitions
partial void OnCreated();
#endregion
public ZipCodeDataClassesDataContext() :
base(global::System.Configuration.ConfigurationManager.ConnectionStrings["ZIPCODESConnectionString"].ConnectionString, mappingSource)
{
OnCreated();
}
public ZipCodeDataClassesDataContext(string connection) :
base(connection, mappingSource)
{
OnCreated();
}
public ZipCodeDataClassesDataContext(System.Data.IDbConnection connection) :
base(connection, mappingSource)
{
OnCreated();
}
public ZipCodeDataClassesDataContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) :
base(connection, mappingSource)
{
OnCreated();
}
public ZipCodeDataClassesDataContext(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) :
base(connection, mappingSource)
{
OnCreated();
}
public System.Data.Linq.Table<ZipCode> ZipCodes
{
get
{
return this.GetTable<ZipCode>();
}
}
[global::System.Data.Linq.Mapping.FunctionAttribute(Name="dbo.sp_GetCityByZip")]
public int sp_GetCityByZip([global::System.Data.Linq.Mapping.ParameterAttribute(Name="ZIP", DbType="NVarChar(10)")] string zIP, [global::System.Data.Linq.Mapping.ParameterAttribute(Name="Return", DbType="NVarChar(26)")] ref string @return)
{
IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), zIP, @return);
@return = ((string)(result.GetParameterValue(1)));
return ((int)(result.ReturnValue));
}
}
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ZipCodes")]
public partial class ZipCode
{
private string _City;
private string _State;
private int _Zip;
public ZipCode()
{
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_City", DbType="VarChar(25)")]
public string City
{
get
{
return this._City;
}
set
{
if ((this._City != value))
{
this._City = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_State", DbType="VarChar(2)")]
public string State
{
get
{
return this._State;
}
set
{
if ((this._State != value))
{
this._State = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Zip", DbType="Int NOT NULL")]
public int Zip
{
get
{
return this._Zip;
}
set
{
if ((this._Zip != value))
{
this._Zip = value;
}
}
}
}
}
#pragma warning restore 1591
感謝您的鏈接。證明有幫助。我發現了一段視頻,幫助我瞭解了一些更好的事情,希望它也能幫助你。 http://msdn.microsoft.com/en-us/vcsharp/dd565862.aspx – 2010-08-23 18:16:15
謝謝你的鏈接。視頻看起來不錯,我將不得不嘗試實施,看看我能否實現它。 – Stryder 2010-08-23 23:15:34