tags:

views:

461

answers:

3

I have this piece of code that works fine in subsonic 2.2, I migrated to subsonic 3 but now i get this error 'Object of type 'System.Byte[]' cannot be converted to type 'System.String'.' subsonic 2.2 code in comment

public IList<Tag> Tags
{
    get
    {
        return Tag.Find(t => t.TypeId == 1 && t.ItemID == JobId).ToList();
        // new TagCollection().Where(Tag.Columns.TypeId, 1)
        // .Where(Tag.Columns.ItemID, JobId).Load();
    }
}

Where TypeId and ItemId are int how can this be fixed ?

+1  A: 

Are you using the latest version (3.0.0.1), what you're reporting looks very similar to:

http://stackoverflow.com/questions/1092796/subsonic-3-invalid-cast-from-system-byte-to-system-byte

Also which database are you using?

Adam
A: 

i'm using 3.0.0.0

the error is similar

in SQLServer.ttinclude, missing sql type "timestamp"

where you see

string GetSysType(string sqlType){
...

case "image":
case "binary":
case "varbinary":
     sysType= "byte[]";
     break;
...
}

change to string GetSysType(string sqlType){ ...

case "image":
case "binary":
case "varbinary":
case "timestamp":
     sysType= "byte[]";
     break;
...
}
freddoo
A: 

i have run into same issue however needed to add the following case to MySQL.ttinclude template:

     case "image":
 case "binary":
 case "varbinary":
--> case "longblob": <--
  sysType=  "byte[]";
   break;