S
shapper
Hello,
On an ASP.NET MVC project I am getting a list of Tags which names
start with a string contained on the variable "q".
Everything works fine if no Post is related to Tags.
When there is relation I start to get a Circular Reference error.
I have been trying to solve this problem for days!
I can't find the reason for this, either in my SQL or C# code.
I am posting both codes ... just in case:
C# LINQ code:
public JsonResult Filter(string q, int limit) {
var list = (from t in database.Tags
where t.Name.StartsWith(q)
orderby t.Name
select t);
List<Tag> tags = (limit > 0 ? list.Take(limit) : list).ToList();
return this.Json(tags);
}
SQL Tables:
DATA in Tables (All other tables are empty):
Posts
PostID: 78ef0b05-ca4c-4df8-88c9-2858d24fa4e3
Body: <p>Test</p>
CreateAt: 03-09-2008 22:35:25
IsPublished: True
Title: This is the title
UpdatedDate: 03-09-2008 22:35:25
Tags
TagID: e2ec18a7-d668-477b-977b-183989df2a65
Name: Net
TagID: dbf4465a-d0f6-4145-831d-b1ce1363dd16
Name: New York
TagID: 0ea15666-155b-4237-a871-d905a2685f45
Name: Australia
PostsTags
TagID: e2ec18a7-d668-477b-977b-183989df2a65
PostID: 78ef0b05-ca4c-4df8-88c9-2858d24fa4e3
TagID: dbf4465a-d0f6-4145-831d-b1ce1363dd16
PostID: 78ef0b05-ca4c-4df8-88c9-2858d24fa4e3
My Linq code is automaticly generated by LinqToSQL in VS2008.
I don't see any problem in my code or data but I get the error:
A circular reference was detected while serializing an object of type
'MyApp.Models.Post'
I detected the error in FireFox FireBug because the AutoComplete most
of the time does not work.
Does anyone sees anything wrong?!
Thanks,
Miguel
On an ASP.NET MVC project I am getting a list of Tags which names
start with a string contained on the variable "q".
Everything works fine if no Post is related to Tags.
When there is relation I start to get a Circular Reference error.
I have been trying to solve this problem for days!
I can't find the reason for this, either in my SQL or C# code.
I am posting both codes ... just in case:
C# LINQ code:
public JsonResult Filter(string q, int limit) {
var list = (from t in database.Tags
where t.Name.StartsWith(q)
orderby t.Name
select t);
List<Tag> tags = (limit > 0 ? list.Take(limit) : list).ToList();
return this.Json(tags);
}
SQL Tables:
Code:
-- Files
create table dbo.Files
(
FileID uniqueidentifier not null
constraint PK_File primary key clustered,
CreatedAt datetime null,
Description nvarchar(2000) null,
IsPublished bit null,
Path nvarchar(800) null,
Title nvarchar(400) null,
UpdatedAt datetime null
)
-- Posts
create table dbo.Posts
(
PostID uniqueidentifier not null
constraint PK_Post primary key clustered,
Body nvarchar(max) null,
CreatedAt datetime null,
IsPublished bit null,
Title nvarchar(400) null,
UpdatedAt datetime null
)
-- Tags
create table dbo.Tags
(
TagID uniqueidentifier not null
constraint PK_Tag primary key clustered,
[Name] nvarchar(100) null
)
-- FilesTags
create table dbo.FilesTags
(
FileID uniqueidentifier not null,
TagID uniqueidentifier not null,
constraint PK_FilesTags
primary key clustered (FileID, TagID),
constraint FK_FilesTags_Files
foreign key(FileID)
references dbo.Files(FileID)
on delete cascade,
constraint FK_FilesTags_Tags
foreign key(TagID)
references dbo.Tags(TagID)
on delete cascade
)
-- PostsTags
create table dbo.PostsTags
(
PostID uniqueidentifier not null,
TagID uniqueidentifier not null,
constraint PK_PostsTags
primary key clustered (PostID, TagID),
constraint FK_PostsTags_Posts
foreign key(PostID)
references dbo.Posts(PostID)
on delete cascade,
constraint FK_PostsTags_Tags
foreign key(TagID)
references dbo.Tags(TagID)
on delete cascade
)
DATA in Tables (All other tables are empty):
Posts
PostID: 78ef0b05-ca4c-4df8-88c9-2858d24fa4e3
Body: <p>Test</p>
CreateAt: 03-09-2008 22:35:25
IsPublished: True
Title: This is the title
UpdatedDate: 03-09-2008 22:35:25
Tags
TagID: e2ec18a7-d668-477b-977b-183989df2a65
Name: Net
TagID: dbf4465a-d0f6-4145-831d-b1ce1363dd16
Name: New York
TagID: 0ea15666-155b-4237-a871-d905a2685f45
Name: Australia
PostsTags
TagID: e2ec18a7-d668-477b-977b-183989df2a65
PostID: 78ef0b05-ca4c-4df8-88c9-2858d24fa4e3
TagID: dbf4465a-d0f6-4145-831d-b1ce1363dd16
PostID: 78ef0b05-ca4c-4df8-88c9-2858d24fa4e3
My Linq code is automaticly generated by LinqToSQL in VS2008.
I don't see any problem in my code or data but I get the error:
A circular reference was detected while serializing an object of type
'MyApp.Models.Post'
I detected the error in FireFox FireBug because the AutoComplete most
of the time does not work.
Does anyone sees anything wrong?!
Thanks,
Miguel