Skip to main content

Rod Entities

Entities for fishing rods and custom rod building.

Rod

Purpose: Fishing rod entity with specifications (base entity).

Key Fields:

  • Id (Guid): Unique identifier
  • BrandId: Manufacturer brand
  • RodTypeId: Spinning, Casting, Fly, etc.
  • GearCategoryId: Category classification
  • Name: Rod model name
  • LengthFt: Rod length in feet
  • Power: Power rating
  • Action: Action rating
  • Pieces: Number of pieces
  • LineRatingMinLb, LineRatingMaxLb: Line weight range
  • LureRatingMinOz, LureRatingMaxOz: Lure weight range
  • IsActive: Whether still in production

Relationships:

  • Many-to-one: Brand, RodType, GearCategory
  • One-to-many: RodBuild, GearVariant, GearImage, GearTag, RetailLink

RodBuild

Purpose: Complete custom rod build tracking all components.

Key Fields:

  • Id (int): Unique identifier
  • UserId: Builder user
  • BuildName: Build name
  • RodBlankId: Base rod blank
  • BuildDate: Build completion date
  • BuildNotes: Build notes
  • TotalCost: Total build cost

Relationships:

  • Many-to-one: User, RodBlank
  • One-to-many: RodComponent, GuidePlacement, RodWrap, RodFinish, RodBuildToolUsage

RodBlank

Purpose: Base rod blank before components are added.

Key Fields:

  • Id (int): Unique identifier
  • BrandId: Blank brand
  • Model: Blank model
  • LengthFt: Blank length
  • Power: Power rating
  • Action: Action rating
  • Material: Graphite, Fiberglass, Composite
  • IsPurchasedBlank: Whether purchased as blank
  • SourceRodId: Source rod (if from existing rod)

Relationships:

  • Many-to-one: Brand, Rod (source, optional)
  • One-to-many: RodBuild

RodComponent

Purpose: Individual components used in rod build.

Key Fields:

  • Id (int): Unique identifier
  • RodBuildId: Associated build
  • ComponentType: ReelSeat, Handle, ButtCap, etc.
  • BrandId: Component brand
  • Model: Component model
  • Material: Component material
  • Size: Component size
  • Cost: Component cost

Relationships:

  • Many-to-one: RodBuild, Brand

Guide

Purpose: Fishing rod guides/eyelets (normalized for reuse).

Key Fields:

  • Id (int): Unique identifier
  • BrandId: Guide brand
  • Model: Guide model
  • Size: Guide size
  • GuideType: SingleFoot, DoubleFoot, etc.
  • Material: Guide material
  • RingMaterial: Ring material

Relationships:

  • Many-to-one: Brand
  • One-to-many: GuidePlacement

GuidePlacement

Purpose: Placement of a guide on a rod build.

Key Fields:

  • Id (int): Unique identifier
  • RodBuildId: Associated build
  • GuideId: Guide used
  • Position: Guide position (1 = stripper, last = tip)
  • DistanceFromButtInches: Distance from butt
  • SpacingInches: Spacing from previous guide
  • Orientation: Guide orientation

Relationships:

  • Many-to-one: RodBuild, Guide

RodWrap

Purpose: Wrapping thread/string used on rod build.

Key Fields:

  • Id (int): Unique identifier
  • RodBuildId: Associated build
  • ThreadType: Thread type
  • ThreadSize: Thread size
  • Color: Thread color
  • Pattern: Wrap pattern
  • UsedFor: What it's used for (guides, decorative, etc.)

Relationships:

  • Many-to-one: RodBuild

RodFinish

Purpose: Finish/epoxy applied to rod build.

Key Fields:

  • Id (int): Unique identifier
  • RodBuildId: Associated build
  • FinishType: Epoxy, Varnish, etc.
  • BrandId: Finish brand
  • Model: Finish model
  • CoatsApplied: Number of coats
  • ApplicationDate: Application date

Relationships:

  • Many-to-one: RodBuild, Brand

RodBuildingTool

Purpose: Tools and equipment used for rod building.

Key Fields:

  • Id (int): Unique identifier
  • ToolName: Tool name
  • ToolType: Wrapper, Lathe, Dryer, etc.
  • BrandId: Tool brand
  • Model: Tool model
  • Description: Tool description

Relationships:

  • Many-to-one: Brand
  • One-to-many: RodBuildToolUsage

RodBuildToolUsage

Purpose: Tracks which tools were used in a rod build.

Key Fields:

  • Id (int): Unique identifier
  • RodBuildId: Associated build
  • RodBuildingToolId: Tool used
  • UsageNotes: Usage notes

Relationships:

  • Many-to-one: RodBuild, RodBuildingTool