2010-01-22 39 views
-1

我有一个问题,同时创建一个使用LinqTemplate这里的web应用程序的说明分步....例外:无法参数值从一个GUID转换为字符串

  1. 我创建了一个数据库与表名UserTest与一个列名用户ID与uniqidentifier数据类型
  2. 我已经创建了一个classLiberary项目其中i已经使用的亚音速LinqTemplate为DAL的代码生成和创建的部分类为UserTest

    public partial class TestUser:Classes 
    { 
        public int Insert(TestUser user) 
        { 
         NFSLicensingSystemDB db = new NFSLicensingSystemDB(); 
         return db.Insert.Into<TestUser> 
          ( 
          x => x.UserId 
    
          ) 
         .Values(
          user.UserId 
         ).Execute(); 
        } 
    
    } 
    
  3. 我已经创建了相同的解决方案的web项目,并创建了该网页上的按钮 UserTest.aspx代码的页面UserTest.aspx: -

    <html xmlns="http://www.w3.org/1999/xhtml" > 
        <head runat="server"> 
         <title>Untitled Page</title> 
        </head> 
        <body> 
         <form id="form1" runat="server"> 
         <div> 
         <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /> 
         </div> 
         </form> 
        </body> 
    </html> 
    

4.UserTest.aspx.cs 这里数据库是OnButton连接字符串名称代码Click事件

protected void Button1_Click(object sender, EventArgs e) 
    { 
     Datadase.TestUser test =new Datadase.TestUser(); 
     test.UserId = Guid.NewGuid(); 
     test.Insert(test); 

    } 

现在,当我建立它成功地建立,当我运行该项目,它显示 用按钮b的UserTest.aspx页面项目UT当我点击链接,它必须插入新的GUID值到表中,但 它在课堂上抛出一个异常

[InvalidCastException: Object must implement IConvertible.] 
    System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) +2560525 
    System.Data.SqlClient.SqlParameter.CoerceValue(Object value, MetaType destinationType) +414 

[InvalidCastException: Failed to convert parameter value from a Guid to a String.] 
    TestPages.UserEdit.btnCreateNewAccount_Click(Object sender, EventArgs e) in D:\TestPages\UserEdit.aspx.cs:61 
    System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105 
+0

请修正代码 – 2010-01-22 04:24:16

回答

0

我会检查你的类库,因为它看起来像它的失败,因为财产“用户ID” “Datadase.TestUser”是一个字符串,而不是Guid。

+0

嗨帕特里克, 感谢您的回复。我没有得到任何解决方案,我的工作因此而陷入困境。 这是DAL类中的代码,我确信它的类型Guid不是字符串,所以你可以给我另一个解决方案。 – 2010-01-27 06:13:30

+0

namespace Datadase {public partial class TestUser:INotifyPropertyChanging,INotifyPropertyChanged { partial void OnLoaded(); partial void OnValidate(System.Data.Linq.ChangeAction action); partial void OnCreated(); public TestUser(){OnCreated();} partial void OnUserIdChanging(Guid value); partial void OnUserIdChanged(); private Guid _UserId; public Guid UserId {get {return _UserId;} set {this.OnUserIdChanging(value); this.SendPropertyChanging(); this._UserId = value; this.SendPropertyChanged(“UserId”); this.OnUserIdChanged(); \t \t} \t \t} } – 2010-01-27 06:21:46

相关问题