Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

C# Entity Framework Basics Extending Our Entity Data Model Using the Fluent API

Not really understanding how to construct a solution to this question...

I understand what the method call will do and have implemented it within my own code following along with the videos but don't understand how to use it here - I'm feeling like I'm missing some of the necessary info.

Context.cs
using System.Data.Entity;

namespace Treehouse.CodeChallenges
{
    public class Context : DbContext
    {
        public Context()
        {
            Database.SetInitializer(new DropCreateDatabaseAlways<Context>());
        }

        public DbSet<Course> Courses { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            ModelBuilder.Entity<CourseStudent>()
                .Property(cs => cs.Grade)
                .HasPrecision(4, 3);
        }
    }
}

2 Answers

Steven Parker
Steven Parker
231,198 Points

The video has a good example of this.

At about 04:26 in the Overriding the Context's OnModelCreating Method video, there's a good example where the precision and scale were set on the ComicBook.AverageRating property. The class and property are different but the basic application will be the same.

I typed "ModelBuilder" instead of "modelBuilder", smh...

Steven Parker
Steven Parker
231,198 Points

Right. Other than that, the changes you added to your code above look good. :+1:

Now about that name, either will work technically, but starting the name with a lower-case letter would follow the convention used throughout the course for parameter names.