Lyo.Comment
1.0.1
dotnet add package Lyo.Comment --version 1.0.1
NuGet\Install-Package Lyo.Comment -Version 1.0.1
<PackageReference Include="Lyo.Comment" Version="1.0.1" />
<PackageVersion Include="Lyo.Comment" Version="1.0.1" />
<PackageReference Include="Lyo.Comment" />
paket add Lyo.Comment --version 1.0.1
#r "nuget: Lyo.Comment, 1.0.1"
#:package Lyo.Comment@1.0.1
#addin nuget:?package=Lyo.Comment&version=1.0.1
#tool nuget:?package=Lyo.Comment&version=1.0.1
Lyo.Comment
Abstractions for attaching threaded, reactable comments to any entity. Each comment carries a subject (what it is about), an actor (author), optional ReplyToCommentId for threads, and cached like/dislike counters maintained via the reaction methods.
Examples
CommentReactionType
public enum CommentReactionType
{
Like = 0,
Dislike = 1
}
CommentRef
public static EntityRef ForComment(Guid commentId)
=> EntityRef.ForKey("Comment", commentId.ToString());
Surface — ICommentStore
SaveAsync(CommentRecord comment, CancellationToken ct = default)— insert or update. Whencomment.Idmatches an existing active row, that row's subject/actor endpoints,Content, andReplyToCommentIdare updated andIsEditedis forced totrue; otherwise a new row is inserted (and anIdis generated ifId == default).GetByIdAsync(Guid id, CancellationToken ct = default)— single comment by id.GetForEntityAsync(EntityRef forEntity, bool includeReplies = true, CancellationToken ct = default)— every comment attached to a target entity, ordered byCreatedAt. WithincludeReplies: false, only top-level comments (rows whereReplyToCommentId == null) are returned.GetRepliesAsync(Guid replyToCommentId, CancellationToken ct = default)— direct replies to a given comment.GetFromEntityAsync(EntityRef fromEntity, CancellationToken ct = default)— every comment authored by the given actor.GetForEntityTypeAsync(string forEntityType, Guid? forEntityId = null, CancellationToken ct = default)— every comment for a target type, optionally narrowed to a single target id.DeleteAsync(Guid id, bool deleteReplies = false, CancellationToken ct = default)— soft-deletes the comment. WhendeleteReplies: true, recursively soft-deletes every descendant in the reply tree and removes their reactions.DeleteForEntityAsync(EntityRef forEntity, CancellationToken ct = default)— soft-delete every comment attached to a target (and remove their reactions).
Surface — CommentRecord
Content— comment body.ReplyToCommentId— parent comment id when this is a reply,nullfor top-level.LikeCount/DislikeCount— cached counters maintained by the reaction methods.UpdatedTimestamp— last update time (UTC), nullable.IsEdited— set totruebySaveAsyncwhenever an existing row is updated.
Surface — CommentReactionRecord
Standalone row (not EntityRelationRow) with subject/actor columns (SubjectEntityType / SubjectEntityId → parent comment; ActorEntityType / ActorEntityId → reactor; DB for_entity_* / from_entity_*), plus ReactionType and CreatedTimestamp.
Dependencies
Generated from ProjectReference / PackageReference (same model as docs/Lyo.ProjectGraph.html).
Lyo.EntityReference.Models— (direct, lyo)Lyo.Common— (transitive, lyo)Lyo.Exceptions— (transitive, lyo)Microsoft.Extensions.Logging.Abstractions10.0.5— (transitive, microsoft)System.Memory4.6.3— (transitive, microsoft, netstandard2.0)System.Text.Json10.0.5— (transitive, microsoft, netstandard2.0)
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Lyo.EntityReference.Models (>= 1.0.1)
-
net10.0
- Lyo.EntityReference.Models (>= 1.0.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Lyo.Comment:
| Package | Downloads |
|---|---|
|
Lyo.Comment.Postgres
PostgreSQL implementation of Lyo.Comment using Entity Framework Core. Supports reply threads, like/dislike counts, and dynamic entity references. |
GitHub repositories
This package is not used by any popular GitHub repositories.